JavaScript: emulare il metodo hasClass() di jQuery

In JavaScript non esiste un metodo hasClass() come in jQuery, ma grazie alle recenti API dell'oggetto classList o alle espressioni regolari, possiamo ricreare facilmente questo metodo.

La nostra implementazione sarà la seguente:


function hasClass( element, name ) {
	if( element.classList ) {
		return element.classList.contains( name );
	} else {
		var re = new RegExp( "(^| )" + name + "( |$)", "gi" );
		return re.test( element.className );
	}
}

Quindi data la seguente struttura HTML:


<div id="test" class="foo bar baz">...</div>

avremo:


var test = document.getElementById( "test" );

hasClass( test, "bar" ); // true
hasClass( test, "test" ); // false

Torna su