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

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

DDD
Freigeben: 2024-12-24 18:42:59
Original
934 Leute haben es durchsucht

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

Wie überprüfe ich, ob ein Element eine Klasse in JavaScript enthält?

Problem:

Die Überprüfung, ob ein Element eine bestimmte Klasse besitzt, ist eine häufige Anforderung in JavaScript. Wenn man sich jedoch ausschließlich auf className-Eigenschaftsvergleiche verlässt, wie im bereitgestellten Beispiel gezeigt, scheitert es, wenn das Element mehrere Klassen enthält.

Lösung:

Um das Vorhandensein von effektiv festzustellen Für eine bestimmte Klasse verwenden Sie unabhängig von der Gesamtzahl der dem Element zugewiesenen Klassen die Methode classList.contains.

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

Diese Methode funktioniert einwandfrei in modernen Browsern, und Polyfills sind für ältere Browser verfügbar.

Alternativer Ansatz:

Für eine breitere Kompatibilität sollten Sie indexOf mit einer leichten Modifikation verwenden:

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

Diese Anpassung stellt sicher, dass teilweise Übereinstimmungen mit Klassennamen keine fehlerhaften Ergebnisse liefern Ergebnisse.

Demo:

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

In diesem Beispiel identifiziert und zeigt der Code effizient die im Element vorhandene Klasse an, auch wenn sie von anderen Klassen begleitet wird.

Das obige ist der detaillierte Inhalt vonWie kann man zuverlässig 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!

Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage