Heim > Web-Frontend > js-Tutorial > Wie überprüfe ich, ob ein Element eine bestimmte Klasse in JavaScript enthält?

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

Linda Hamilton
Freigeben: 2024-11-13 00:57:02
Original
567 Leute haben es durchsucht

How to Check if an Element Contains a Specific Class in JavaScript?

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

Bei der Arbeit mit Elementen in JavaScript ist es oft nützlich, zu überprüfen, ob ein Element vorhanden ist enthält eine bestimmte Klasse.

Das Problem:

Die Verwendung der herkömmlichen Methode zum Vergleichen der className-Eigenschaft des Elements mit dem genauen Klassennamen führt zu falsch positiven Ergebnissen, wenn das Element mehrere enthält Klassen. Wenn das Element beispielsweise die Klasse class1 hat und der Code nach Klasse1 sucht, wird false zurückgegeben, wenn das Element auch andere Klassen hat.

Die Lösung: element.classList.contains()

Die moderne Lösung besteht darin, die Methode element.classList.contains() zu verwenden, die „true“ zurückgibt, wenn das Element die angegebene Klasse enthält.

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

Diese Methode funktioniert in allen gängigen Browsern und verfügt über Polyfills für ältere Browser.

Alternative: indexOf() mit Modifikation

Aus Gründen der Kompatibilität mit älteren Browsern kann die Methode indexOf() verwendet werden, diese ist jedoch nicht verfügbar erfordert eine leichte Änderung, um Fehlalarme zu vermeiden:

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

Angewandt auf das Beispiel

Mit der Methode classList.contains() kann der bereitgestellte Code vereinfacht werden :

var test = document.getElementById("test");
var classes = ['class1', 'class2', 'class3', 'class4'];

test.innerHTML = "";

for (var i = 0, j = classes.length; i < j; i++) {
  if (test.classList.contains(classes[i])) {
    test.innerHTML = "I have " + classes[i];
    break;
  }
}
Nach dem Login kopieren

Dieser Ansatz eliminiert Redundanz und bietet eine robustere Prüfung der Klassenpräsenz.

Das obige ist der detaillierte Inhalt vonWie überprüfe ich, ob ein Element eine bestimmte Klasse in JavaScript 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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage