Warum kann ich Array.forEach nicht für eine Sammlung von Javascript-Elementen verwenden? [Duplikat
Diese Frage hat hier bereits eine Antwort:
JavaScript: Alle von getElementsByTagName @ zurückgegebenen Elemente durchlauf 9 answersIch baue eine App mit Babel / ES6. Ich möchte alle Formularelemente für eine Nur-Ansicht-Version davon deaktivieren. Deshalb habe ich Folgendes ausgeführt:
let form = document.getElementById('application-form')
let elements = form.elements
Ich habe erwartet, dass ich dies tun kann, anstatt ein normales altes @ zu verwendefor
loop (was hat funktioniert):
elements.forEach((el) => {
el.disabled = true
})
aber ich habeTypeError: elements.forEach is not a function
Das seltsame ist, wenn ichconsole.log(elements)
in der Chrome-Dev-Konsole ist es genau wie ein Array mit einer Reihe voninput
Objekte. Es wird nicht mit dem @ angezeiObject
-Notation für Objekte und alle Schlüssel sind Ganzzahlen. Ich denke, es ist eine Art Pseudo-Array, aber ich würde nicht einmal wissen, wie ich das herausfinden kann.
BEARBEITE: kurze Antwort, es ist kein Array, es ist eine HTMLCollection. sehenWarum hat die Knotenliste nicht für jeden?
Perdiese Antwort, nodelist
hat jetzt dasforEach
Methode