Heim >Web-Frontend >CSS-Tutorial >Wie kann man effizient prüfen, ob ein JavaScript-Element eine bestimmte Klasse enthält?

Wie kann man effizient prüfen, ob ein JavaScript-Element eine bestimmte Klasse enthält?

Susan Sarandon
Susan SarandonOriginal
2024-12-19 19:09:09762Durchsuche

How to Efficiently Check if a JavaScript Element Contains a Specific Class?

So überprüfen Sie, ob ein Element eine Klasse in JavaScript enthält

Überprüfen, ob ein Element eine bestimmte Klasse in JavaScript enthält, ist eine häufige Aufgabe. Während es möglich ist, Switch-Anweisungen zu verwenden, um das Klassenattribut des Elements zu vergleichen, weist diese Methode Einschränkungen auf, wenn es um Elemente mit mehreren Klassen geht.

Für eine robustere Lösung sollten Sie die Verwendung der Methode element.classList.contains in Betracht ziehen:

element.classList.contains('class-name');

Diese Methode gibt true zurück, wenn das Element die angegebene Klasse hat, andernfalls false. Es unterstützt alle modernen Browser und verfügt über Polyfills für ältere Browser.

Alternativer Ansatz:

Wenn Sie ältere Browser unterstützen müssen und Polyfills keine Option sind, können Sie dies tun Verwenden Sie die folgende optimierte indexOf-Methode:

function hasClass(element, className) {
  return (' ' + element.className + ' ').indexOf(' ' + className + ' ') > -1;
}

Diese Methode stellt sicher, dass die Suche innerhalb des gesamten Klassenattributs durchgeführt wird, was verhindert Fehlalarme aus Teilübereinstimmungen.

Anwenden auf das Beispiel:

Im bereitgestellten Beispiel können wir die hasClass-Methode verwenden, um den Code zu vereinfachen und das gewünschte Ergebnis zu erzielen:

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

for (var i = 0, j = classes.length; i < j; i++) {
  if (hasClass(test, classes[i])) {
    test.innerHTML = 'I have ' + classes[i];
    break;
  }
}

Dieser Code durchläuft das Array von Klassen und prüft, ob eine davon im Klassenattribut des Elements enthalten ist. Dies ist eine effizientere und flexiblere Lösung als die Verwendung von Switch-Anweisungen oder String-Matching.

Das obige ist der detaillierte Inhalt vonWie kann man effizient prüfen, ob ein JavaScript-Element eine bestimmte Klasse enthält?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn