Hallo Gunnar,
die NodeList
Welche NodeList?!
Dafür gibt’s ja for...of und forEach().
Überraschenderweise ist die Antwort darauf nicht „komplett falsch“, sondern nur „zur Hälfe falsch“.
Die älteren DOM-Methoden liefern keine NodeList, sondern eine HTMLCollection. Eine HTMLCollection ist für zwei Dinge berüchtigt:
(a) sie ist live
(b) sie kann fast nichts.
Die forEach-Methode fehlt erwartungsgemäß.
Die Überraschung ist, dass das HTMLCollection.prototype
Objekt Symbol.iterator
enthält (in aktuellen Chromes und Feuerfüchsen) und damit for...of unterstützt. Die Spezifikation weiß davon nichts, MDN auch nicht.
Historische Recherche ergibt diese Stackoverflow-Seite, wo jemand auf einen 2014er Commit der DOM Spec verweist. Demnach war es mal geplant, HTMLCollection als iterable zu deklarieren und offenbar haben die Browser das implementiert - aber dann gab's Widerworte und es ist dann wohl aus der DOM-Spec wieder entfernt worden.
Rolf
sumpsi - posui - obstruxi