Heim > Web-Frontend > js-Tutorial > Wie iteriere ich korrekt über „getElementsByClassName()'-Ergebnisse in JavaScript?

Wie iteriere ich korrekt über „getElementsByClassName()'-Ergebnisse in JavaScript?

Susan Sarandon
Freigeben: 2024-12-01 06:07:13
Original
510 Leute haben es durchsucht

How to Correctly Iterate Over `getElementsByClassName()` Results in JavaScript?

Fehler: getElementsByClassName() Ergebnisiteration mit Array.forEach

Beim Versuch, mit getElementsByClassName() und dem Array über DOM-Elemente zu iterieren. Bei der Verwendung der forEach-Methode kann es bei Benutzern zu einem Fehler kommen, da getElementsByClassName() kein an zurückgibt Array.

Das Ergebnis von getElementsByClassName() ist eine HTMLCollection, die sich in modernen Browsern von einem Array unterscheidet. Um dieses Problem zu beheben, konvertieren Sie die HTMLCollection in ein Array, bevor Sie forEach verwenden. Dies kann durch die folgenden Methoden erreicht werden:

  • Verwendung von call() mit Array.prototype.forEach:
var els = document.getElementsByClassName("myclass");
Array.prototype.forEach.call(els, function(el) {
  // Do stuff here
  console.log(el.tagName);
});
Nach dem Login kopieren
  • Verwenden `[].forEach.call():
[].forEach.call(els, function (el) {
  // Do stuff here
  console.log(el.tagName);
});
Nach dem Login kopieren
  • Verwendung von `Array.from() (ES6)**:
Array.from(els).forEach((el) => {
  // Do stuff here
  console.log(el.tagName);
});
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie iteriere ich korrekt über „getElementsByClassName()'-Ergebnisse in JavaScript?. 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