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 une HTMLCollection 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é, la HTMLCollection 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.

 

Étiquettes et contributeurs liés au document

Étiquettes : 
 Dernière mise à jour par : loella16,