JavaScript "hasClass()", "addClass()", "removeClass()" helper functions

If you're like me and come from jQuery to pure JavaScript, these helper functions might be very helpful for you:

function hasClass(el, className) { if (el.classList) return el.classList.contains(className); else return !!el.className.match(new RegExp('(\\s|^)' + className + '(\\s|$)')); }

function addClass(el, className) { if (el.classList) el.classList.add(className); else if (!hasClass(el, className)) el.className += " " + className; }

function removeClass(el, className) { if (el.classList) el.classList.remove(className); else if (hasClass(el, className)) el.className=el.className.replace(new RegExp('(\\s|^)' + className + '(\\s|$)'), ' '); }