Überprüfen der Klassenexistenz mit einfachem JavaScript
In JavaScript kann überprüft werden, ob ein Element eine bestimmte Klasse enthält, ohne auf jQuery-Bibliotheken angewiesen zu sein.
Eine Methode beinhaltet die Verwendung der className-Eigenschaft:
var test = document.getElementById("test"); var testClass = test.className; if (testClass.includes("class1")) { test.innerHTML = "I have class1"; } else { test.innerHTML = ""; }
Dieser Ansatz hat jedoch Einschränkungen, wenn mehrere Klassen vorhanden sind. Für eine umfassende Lösung verwenden Sie die Methode classList.contains:
element.classList.contains(class);
Diese Methode funktioniert in allen modernen Browsern mit geeigneten Polyfills für ältere Versionen.
Alternativ kann die Methode indexOf verwendet werden, aber mit einer Anpassung:
function hasClass(element, className) { return (' ' + element.className + ' ').indexOf(' ' + className + ' ') > -1; }
Dadurch wird sichergestellt, dass teilweise Übereinstimmungen innerhalb anderer Klassennamen vorliegen ignoriert.
Um dies auf das bereitgestellte Beispiel anzuwenden:
var test = document.getElementById("test"), classes = ['class1', 'class2', 'class3', 'class4']; test.innerHTML = ""; for (var i = 0, j = classes.length; i < j; i++) { if (hasClass(test, classes[i])) { test.innerHTML = "I have " + classes[i]; break; } }
Das obige ist der detaillierte Inhalt vonWie überprüfe ich die Klassenexistenz in JavaScript ohne jQuery?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!