Antwort an „Rolf B“ verfassen

problematische Seite

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
freiwillig, öffentlich sichtbar
freiwillig, öffentlich sichtbar
freiwillig, öffentlich sichtbar

Ihre Identität in einem Cookie zu speichern erlaubt es Ihnen, Ihre Beiträge zu editieren. Außerdem müssen Sie dann bei neuen Beiträgen nicht mehr die Felder Name, E-Mail und Homepage ausfüllen.

abbrechen