| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/fr/docs/Web/API/HTMLCollection | [Back] [Original] |
Get to know MDN better
Cette page a t traduite partir de l'anglais par la communaut. Vous pouvez contribuer en rejoignant la communaut francophone sur MDN Web Docs.
Cette fonctionnalit est bien tablie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2015.
L'interface HTMLCollection est constitue d'une collection gnrique ( la manire d'un tableau similaire arguments) d'lments (dans l'ordre du document) et offre des mthodes et des proprits pour slectionner ces lments dans la liste.
Une HTMLCollection dans le DOM HTML est dynamique ; elle est automatiquement mise jour lorsque le document sous-jacent est modifi. Pour cette raison, il est conseill d'en faire une copie (par exemple, en utilisant Array.from) pour itrer si vous ajoutez, dplacez ou supprimez des nuds.
Cette interface est appele HTMLCollection pour des raisons historiques (avant DOM4, les collections implmentant cette interface pouvaient uniquement tres constitues d'lements HTML).
Cette interface tait une tentative de crer une liste non modifiable (angl.) et continue d'tre prise en charge uniquement pour ne pas casser le code qui l'utilise dj. Les API modernes reprsentent les structures de liste l'aide de types bass sur les tableaux JavaScript, ce qui rend de nombreuses mthodes de tableau disponibles, tout en imposant des smantiques supplmentaires leur utilisation (comme rendre leurs lments en lecture seule).
Ces raisons historiques ne signifient pas que vous, en tant que dveloppeureuse, devez viter HTMLCollection. Vous ne crez pas vous-mme d'objets HTMLCollection, mais vous les obtenez via des API comme Document.getElementsByClassName(), et ces API ne sont pas obsoltes. Cependant, faites attention aux diffrences smantiques avec un vritable tableau.
HTMLCollection.length Lecture seuleRetourne le nombre d'lments de la collection.
HTMLCollection.item()Retourne le nud spcifique l'index bas sur zro donn dans la liste. Retourne null si l'index est hors de porte.
Une alternative l'accs par collection[i] (qui retourne undefined si i est hors limites). Ceci est surtout utile pour les implmentations DOM non JavaScript.
HTMLCollection.namedItem()Retourne le nud spcifique dont l'ID ou, dfaut, le nom correspond la chane de caractres fournie par name. La recherche par nom est faite seulement en dernier ressort, uniquement en HTML, et seulement si l'lment rfrenc supporte l'attribut name. Retourne null si aucun nud n'existe pour le nom donn.
Une alternative l'accs par collection[name] (qui retourne undefined si name n'existe pas). Ceci est surtout utile pour les implmentations DOM non JavaScript.
HTMLCollection expose aussi directement ses membres comme proprits, par nom et par index. Les ID HTML peuvent contenir : et . comme caractres valides, ce qui ncessite d'utiliser la notation entre crochets pour accder aux proprits. Actuellement, HTMLCollections ne reconnait pas purement les ID numriques, ce qui provoquerait des conflits avec l'accs de "array-style", bien qu'HTML le permette.
Par exemple, en supposant qu'il y ait un lment <form> (formulaire) dans le document et que son id soit "myForm" :
var elem1, elem2;
// document.forms est une HTMLCollection
elem1 = document.forms[0];
elem2 = document.forms.item(0);
alert(elem1 === elem2); // affiche : "true" (vrai)
elem1 = document.forms.myForm;
elem2 = document.forms.namedItem("myForm");
alert(elem1 === elem2); // affiche : "true"
elem1 = document.forms["named.item.with.periods"];
| Spcification |
|---|
| DOM # interface-htmlcollection |
NodeListHTMLFormControlsCollection, HTMLOptionsCollectionCette page a t modifie le 3 dc. 2025 par les contributeurices du MDN.
HTMLCollectionBeforeUnloadEventDOMStringMapErrorEventHTMLAnchorElementHTMLAreaElementHTMLAudioElementHTMLBRElementHTMLBaseElementHTMLBodyElementHTMLButtonElementHTMLCanvasElementHTMLDListElementHTMLDataElementHTMLDataListElementHTMLDialogElementHTMLDivElementHTMLDocumentHTMLElementHTMLEmbedElementHTMLFieldSetElementHTMLFormControlsCollectionHTMLFormElementHTMLFrameSetElementHTMLGeolocationElementHTMLHRElementHTMLHeadElementHTMLHeadingElementHTMLHtmlElementHTMLIFrameElementHTMLImageElementHTMLInputElementHTMLLIElementHTMLLabelElementHTMLLegendElementHTMLLinkElementHTMLMapElementHTMLMediaElementHTMLMenuElementHTMLMetaElementHTMLMeterElementHTMLModElementHTMLOListElementHTMLObjectElementHTMLOptGroupElementHTMLOptionElementHTMLOptionsCollectionHTMLOutputElementHTMLParagraphElementHTMLPictureElementHTMLPreElementHTMLProgressElementHTMLQuoteElementHTMLScriptElementHTMLSelectElementHTMLSourceElementHTMLSpanElementHTMLStyleElementHTMLTableCaptionElementHTMLTableCellElementHTMLTableColElementHTMLTableElementHTMLTableRowElementHTMLTableSectionElementHTMLTemplateElementHTMLTextAreaElementHTMLTimeElementHTMLTitleElementHTMLTrackElementHTMLUListElementHTMLUnknownElementHTMLVideoElementHashChangeEventHistoryImageDataLocationMessageChannelMessageEventMessagePortNavigatorPageRevealEventPageSwapEventPageTransitionEventPluginPluginArrayPromiseRejectionEventRadioNodeListTimeRangesUserActivationValidityStateWindowWorkletGlobalScopeCertaines parties de ce contenu sont protges par le droit d'auteur 19982026 des contributeurs individuels de mozilla.org. Contenu disponible sous une licence Creative Commons.
| Web Proxy Viewer | New URL | Original Page |