Skip to content

Instantly share code, notes, and snippets.

@ozrabal
Created November 7, 2016 12:18
Show Gist options
  • Save ozrabal/9c8b49640a2172a8edbe9e8d39765e4f to your computer and use it in GitHub Desktop.
Save ozrabal/9c8b49640a2172a8edbe9e8d39765e4f to your computer and use it in GitHub Desktop.
add/remove/hasclass in plain js
var hasClass, addClass, removeClass;
if ('classList' in document.documentElement) {
hasClass = function (el, className) { return el.classList.contains(className); };
addClass = function (el, className) { el.classList.add(className); };
removeClass = function (el, className) { el.classList.remove(className); };
} else {
hasClass = function (el, className) {
return new RegExp('\\b'+ className+'\\b').test(el.className);
};
addClass = function (el, className) {
if (!hasClass(el, className)) { el.className += ' ' + className; }
};
removeClass = function (el, className) {
el.className = el.className.replace(new RegExp('\\b'+ className+'\\b', 'g'), '');
};
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment