Forums

The forums ran from 2008-2020 and are now closed and viewable here as an archive.

Home Forums JavaScript Your best snippets Reply To: Your best snippets

#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');