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

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

Susan Sarandon
Freigeben: 2025-01-01 12:53:14
Original
1005 Leute haben es durchsucht

How Can I Efficiently Check if a JavaScript DOM Element Contains a Specific Class?

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

In JavaScript kann es vorkommen, dass Sie feststellen müssen, ob ein DOM-Element eine Klasse enthält eine bestimmte Klasse. Obwohl Ihr aktueller Ansatz mit element.className und einer switch-Anweisung funktionieren kann, weist er Einschränkungen auf, wenn ein Element mehrere Klassen hat.

Verwendung von element.classList.contains()

Für eine bessere browserübergreifende Kompatibilität können Sie die Methode element.classList.contains() verwenden:

element.classList.contains(className);
Nach dem Login kopieren

Diese Methode gibt a zurück boolescher Wert, der angibt, ob das Element die angegebene Klasse hat. Es wird in allen gängigen Browsern unterstützt.

Alternativer Ansatz mit indexOf

Wenn Sie mit älteren Browsern arbeiten, die element.classList nicht unterstützen, können Sie Änderungen vornehmen Ihr bestehender indexOf-Ansatz wie folgt:

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

Dadurch wird sichergestellt, dass die Prüfung nur dann „true“ zurückgibt, wenn die gesuchte Klasse nicht in einer anderen Klasse enthalten ist Name.

Beispielimplementierung

Anwenden der aktualisierten Techniken auf Ihr Beispiel:

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;
    }
}
Nach dem Login kopieren

Dieser Ansatz behandelt den Fall, in dem das Testelement mehrere hat Klassen, um sicherzustellen, dass die richtige Klasse erkannt wird, auch wenn ihre Reihenfolge oder zusätzliche Klassen vorhanden sind.

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

Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage