Home › Forums › JavaScript › Your best snippets › Reply To: Your best snippets
December 6, 2016 at 8:51 am
#248706
Beverleyh
Participant
Here are my faves for class management in plain JS;
Check for existence of a class;
function hasClass(el, cls){
if (el.className.match('(?:^|\\s)'+cls+'(?!\\S)')) { return true; }
}
Usage
var myelement = document.getElementById('myelement');
if (hasClass(myelement, 'class-to-check-for')) {
// do something
}
Add a class;
function addClass(el, cls){
if (!el.className.match('(?:^|\\s)'+cls+'(?!\\S)')){ el.className += ' '+cls; }
}
Usage
var myelement = document.getElementById('myelement');
addClass(myelement, 'class-to-add');
Deleted a class;
function delClass(el, cls){
el.className = el.className.replace(new RegExp('(?:^|\\s)'+cls+'(?!\\S)'),'');
}
Usage
var myelement = document.getElementById('myelement');
delClass(myelement, 'class-to-delete');