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

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

Susan Sarandon
Freigeben: 2024-12-22 13:01:41
Original
516 Leute haben es durchsucht

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

Gibt es eine Methode, um zu überprüfen, ob ein HTML-Element eine bestimmte Klasse in JavaScript enthält?

Problem:

JavaScript-Anfänger verlassen sich häufig auf den Vergleich der className-Eigenschaft, um festzustellen, ob ein Element eine bestimmte Klasse enthält. Dieser Ansatz schlägt jedoch fehl, wenn das Element mehrere Klassen hat und die gewünschte Klasse nicht die einzige ist.

Lösung:

Um dieses Problem zu beheben, stellt JavaScript Folgendes bereit: classList-Eigenschaft und die Includes-Methode. Die Eigenschaft „classList“ gibt eine Liste der auf das Element angewendeten Klassen zurück und die Methode „contains“ prüft, ob eine bestimmte Klasse in dieser Liste enthalten ist.

const element = document.getElementById("test");
const hasClass1 = element.classList.contains("class1");
Nach dem Login kopieren

Dieser Ansatz funktioniert unabhängig von der Anzahl der vorhandenen Klassen zuverlässig Element.

Alternative Ansätze:

Wenn classList im Zielbrowser nicht unterstützt wird, wird eine alternative Methode verwendet Die Funktion indexOf kann verwendet werden:

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

Implementierung:

Um diesen Ansatz auf das in der Frage bereitgestellte Beispiel anzuwenden, ersetzen Sie die ursprüngliche switch-Anweisung durch die folgende Code:

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

element.textContent = "";

for (let i = 0; i < classes.length; i++) {
  if (element.classList.contains(classes[i])) {
    element.textContent = `I have ${classes[i]}`;
    break;
  }
}
Nach dem Login kopieren

Dieser Code durchläuft die erwarteten Klassen und zeigt die erste an, die auf dem Element vorhanden ist.

Das obige ist der detaillierte Inhalt vonWie kann man zuverlässig überprüfen, ob ein HTML-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