Heim > Web-Frontend > js-Tutorial > Warum funktioniert „document.getElementsByClassName().forEach' nicht und wie kann ich das Problem beheben?

Warum funktioniert „document.getElementsByClassName().forEach' nicht und wie kann ich das Problem beheben?

DDD
Freigeben: 2024-12-06 07:39:11
Original
876 Leute haben es durchsucht

Why Doesn't `document.getElementsByClassName().forEach` Work, and How Can I Fix It?

Verwenden von Array.forEach mit getElementsByClassName

Beim Versuch, mit document.getElementsByClassName( "myclass" ).forEach über DOM-Elemente zu iterieren, eins Möglicherweise tritt der Fehler „document.getElementsByClassName(“myclass“) auf.forEach ist kein Funktion.“ Dies liegt daran, dass das Ergebnis von getElementsByClassName kein Array, sondern eine HTMLCollection ist.

Um dieses Problem zu beheben, muss man die HTMLCollection in ein Array konvertieren, bevor man forEach verwendet. Dies kann mithilfe der Array.prototype.forEach.call-Methode mit der HTMLCollection als diesem Wert erfolgen:

var els = document.getElementsByClassName("myclass");
Array.prototype.forEach.call(els, function(el) {
    // Do stuff here
    console.log(el.tagName);
});
Nach dem Login kopieren

Alternativ kann man [].forEach.call:

[].forEach.call(els, function (el) {...});
Nach dem Login kopieren
In ES6 kann die Funktion Array.from verwendet werden:

Das obige ist der detaillierte Inhalt vonWarum funktioniert „document.getElementsByClassName().forEach' nicht und wie kann ich das Problem beheben?. 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