element.getElementsByTagName

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-case » 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

js
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

js
// 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

Specification
DOM Standard
# dom-element-getelementsbytagname

Compatibilité des navigateurs

BCD tables only load in the browser