What is the "hasClass" function with plain JavaScript?
You can check whether element.className
matches /\bthatClass\b/
.\b
matches a word break.
Or, you can use jQuery's own implementation:
var className = " " + selector + " ";
if ( (" " + element.className + " ").replace(/[\n\t]/g, " ").indexOf(" thatClass ") > -1 )
To answer your more general question, you can look at jQuery's source code on github or at the source for hasClass
specifically in this source viewer.
Simply use classList.contains()
:
if (document.body.classList.contains('thatClass')) {
// do some stuff
}
Other uses of classList
:
document.body.classList.add('thisClass');
// $('body').addClass('thisClass');
document.body.classList.remove('thatClass');
// $('body').removeClass('thatClass');
document.body.classList.toggle('anotherClass');
// $('body').toggleClass('anotherClass');
Browser Support:
- Chrome 8.0
- Firefox 3.6
- IE 10
- Opera 11.50
- Safari 5.1
classList
Browser Support