La méthode Element.getElementsByTagName()
retourne une liste des éléments portant le nom de balise donné. La recherche porte sur le sous-arbre de l'élément spécifié, à l'exception de cet élément lui-même. La liste retournée est live, c'est à dire qu'elle se met à jour automatiquement à chaque changement de l'arbre DOM. Par conséquent, il n'est pas nécessaire d'appeller plusieurs fois Element.getElementsByTagName()
avec le même élément et les mêmes arguments.
Quand elle est appelée sur un élément HTML dans un document HTML, getElementsByTagName
place son argument en minuscule avant de continuer. Cela n'est pas souhaitable lorsque vous tentez de faire correspondre des éléments SVG " camel-cased" dans une sous-arborescence dans un document HTML. Element.getElementsByTagNameNS()
fonctionne dans ce cas.
Element.getElementsByTagName
est similaire à Document.getElementsByTagName()
, à part que sa recherche est limitée aux éléments qui sont des descendants de l'élément spécifié.
Syntaxe
elements = element.getElementsByTagName(tagName)
elements
est uneHTMLCollection
contenant les éléments trouvés, dans l'ordre dans lequel ils apparaissent dans le sous-arbre. Si aucun élément n'a été trouvé, laHTMLCollection
est vide.element
est l'élément depuis lequel la recherche doit commencer. Notez que seuls les descendants de cet élément feront partie des résultats, mais pas l'élément lui-même.tagName
est le nom qualifié à rechercher. La chaîne spéciale"*"
représente tous les éléments possibles. Pour la compatibilité avec XHTML, les minuscules doivent être utilisées.
Exemple
// vérifie l'alignement sur un nombre de cellules dans un tableau.
var table = document.getElementById("forecast-table");
var cells = table.getElementsByTagName("td");
for (var i = 0; i < cells.length; i++) {
var status = cells[i].getAttribute("data-status");
if ( status == "open" ) {
// saisit les données
}
}
Spécifications
Spécification | Statut | Commentaire |
---|---|---|
DOM La définition de 'Element.getElementsByTagName()' dans cette spécification. |
Standard évolutif | Change la valeur de retour de NodeList àHTMLCollection |
Document Object Model (DOM) Level 3 Core Specification La définition de 'Element.getElementsByTagName()' dans cette spécification. |
Obsolete | Pas de changement par rapport à Document Object Model (DOM) Level 2 Core Specification |
Document Object Model (DOM) Level 2 Core Specification La définition de 'Element.getElementsByTagName()' dans cette spécification. |
Obsolete | Pas de changement par rapport à Document Object Model (DOM) Level 1 Specification |
Document Object Model (DOM) Level 1 Specification La définition de 'Element.getElementsByTagName()' dans cette spécification. |
Obsolete | Définition initiale |
Compatibilité des navigateurs
Fonctionnalité | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|---|
Basic support | 1.0 [2] | (Oui) | (Oui) [1] | 5.5 | (Oui) [2] | (Oui) [2] |
getElementsByTagName("*") | 1.0 | (Oui) | (Oui) | 6.0 | (Oui) | (Oui) |
Fonctionnalité | Android | Edge | Firefox Mobile (Gecko) | IE Phone | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | (Oui) | (Oui) | (Oui) [1] | (Oui) | (Oui) | (Oui) |
[1] Avant Firefox 19, cette méthode retournait une NodeList
; il a ensuite été modifié pour refléter le changement de spécification.
[2] Initiallement, la méthode retournait une NodeList
; il a ensuite été modifié pour refléter le changement de spécification.