Join MDN and developers like you at Mozilla's View Source conference, 12-14 September in Berlin, Germany. Learn more at https://viewsourceconf.org

HTMLCollection

Cette traduction est incomplète. Aidez à traduire cet article depuis l'anglais.

L'interface HTMLCollection est constituée d'une collection générique (à la manière d'un tableau) d'éléments (respectant l'ordre du document) et offre des méthodes et des propriétés pour sélectionner ces éléments dans la liste.

Note: Cette interface est appelée HTMLCollection pour des raisons historiques (avant DOM4, les collections implémentant cette interface pouvaient uniquement êtres constituées d'élements HTML).

Une HTMLCollection dans le DOM HTML est automatiquement mise à jour quand le document concerné change.

Propriétés

HTMLCollection.length Lecture seule
Retourne le nombre d'items de la collection.

Méthodes

HTMLCollection.item()
Retourne le nœud situé à l'index passé en paramêtre dans la collection, le premier nœud ayant pour index 0 (zéro). Retourne null si l'index est hors limite.
HTMLCollection.namedItem()
Retourne le nœud spécifique dont l'ID ou, à défaut, le nom correspond à la chaîne de caractères fournie par name. La recherche par nom est faite seulement en dernier ressort, uniquement en HTML, et seulement si l'élément référencé supporte l'attribut name. Retourne null si aucun nœud n'existe pour le nom donné.

Usage en JavaScript

HTMLCollection expose aussi directement ses membres comme propriétés et par nom et par index. Les IDs HTML peuvent contenir : et . comme caractères valides, ce qui nécessite d'utiliser la notation entre crochets pour accéder aux propriétés. Actuellement HTMLCollections ne reconnait pas  purement les IDs numériques, ce qui provoquerait des conflits avec l'accès de style tableau, bien qu'HTML5 le permette.

Par exemple, en supposant qu'il y a un élément <form> dans le document et que son id est "myForm" :

var elem1, elem2;

// document.forms est une HTMLCollection

elem1 = document.forms[0];
elem2 = document.forms.item(0);

alert(elem1 === elem2); // affiche : "true"

elem1 = document.forms['myForm'];
elem2 = document.forms.namedItem('myForm');

alert(elem1 === elem2); // affiche : "true"

elem1 = document.forms["named.item.with.periods"];

Compatibilité des navigateurs

Certains navigateurs se comportent différemment quand il y a plus d'un élément correspondant à la chaîne utilisée comme index (ou l'argument namedItem). Firefox 8 se comporte comme spécifié dans DOM 2 et DOM4, en retournant le premier élément correspondant. Les navigateurs WebKit et Internet Explorer dans ce cas retourne une autre HTMLCollection et Opera retourne un NodeList de tous les éléments correspondants.

Spécification

Voir aussi

Étiquettes et contributeurs liés au document

Étiquettes : 
 Contributeurs à cette page : jean-pierre.gay, vava, Raison
 Dernière mise à jour par : jean-pierre.gay,