Le DOM retourne habituellement une NodeList
pour la plupart des opérations comme l' getElementsByTagName
.
Bien qu'un NodeList
se sent presque comme un tableau, il ne l'est pas. Il a un length
de la propriété comme un tableau, et une méthode item(index)
d'accéder à un objet à l'index donné (également accessible avec l' [index]
de la notation), mais la ressemblance s'arrête là.
Donc, pour être en mesure d'utiliser les merveilleux méthodes de tableau sans avoir à réécrire tous pour un NodeList
, la ligne ci-dessus est utile.
Une autre utilisation de la convertissant en un tableau est de faire la liste statique. Élément nodelists sont généralement en direct, ce qui signifie que si le document changements se produisent, la NodeList objet est automatiquement mis à jour. Que pourrait causer des problèmes si un objet jQuery retourné en changeant juste sous votre nez. Essayez ce qui suit extrait de code pour tester le liveness de l'élément nodelists.
var p = document.getElementsByTagName('p');
console.log(p.length); // 2
document.body.appendChild(document.createElement('p'));
// length of p changes as document was modified
console.log(p.length); // 3