Die benötigte Eigenschaft ist className
pas class
. Außerdem kann ein Element viele Klassen haben. Wenn Sie also testen wollen, ob es eine bestimmte Klasse hat, müssen Sie etwas wie das Folgende tun:
function hasClass(el, clss) {
return el.className && new RegExp("(^|\\s)" +
clss + "(\\s|$)").test(el.className);
}
var element = document.getElementById('element');
if ( hasClass(element, "class_one") ) {
// Do stuff here
}
UPDATE
Moderne Browser (so gut wie alle wichtigen außer IE <= 9) unterstützen eine classList
Eigenschaft, wie in der Antwort von @Dropped.on.Caprica erwähnt. Es ist daher sinnvoll, diese Eigenschaft zu verwenden, wenn sie verfügbar ist. Hier ist ein Beispielcode, der erkennt, ob classList
vom Browser unterstützt wird und ansonsten auf den Regex-basierten Code zurückgreift:
var hasClass = (typeof document.documentElement.classList == "undefined") ?
function(el, clss) {
return el.className && new RegExp("(^|\\s)" +
clss + "(\\s|$)").test(el.className);
} :
function(el, clss) {
return el.classList.contains(clss);
};