I have the following jQuery code:
$('.selector').removeClass('removed').addClass('added');
I am planning to write all my code in pure JavaScript, so I did this:
function removeClass(el, className) {
if (el.classList)
el.classList.remove(className);
else
el.className = el.className.replace(new RegExp('(^|\\b)' + className.split(' ').join('|') + '(\\b|$)', 'gi'), ' ');
}
function addClass(el, className) {
if (el.classList)
el.classList.add(className);
else
el.className += ' ' + className;
}
var element = document.querySelector(".selector");
removeClass(element, 'removed');
addClass(eleement, 'added');
It works as expected but I want the functions to be chainable in order to keep consistency. How can I do that?
I have two more questions:
- Is removing jQuery dependency even worth it?
- Are there any drawbacks of making these functions above (and others) chainable?
Thanks.