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); });
Alternativ kann man [].forEach.call:
[].forEach.call(els, function (el) {...});
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!