getElementsByTagName
getElementsByTagName parcourt une partie ou la totalité du
document XHTML à la
recherche de toutes les balises d'un type spécifique. Si aucune balise n'est
rencontré il renvoie false. Exemple :
nodeList = document.getElementsByTagName("h3");
Une traduction écrite de l'exemple ci-dessus serait :
Parcourir l'entiereté du document à partir de document et
assigner à nodeList la collection des balises h3
rencontrées inférieurs à document.
A la différence de getElementById, ici nous obtenons une
collection de balises. Pour parcourir cette collection on utilise la propriété
item ou avec des [] où item(0) ou [0] représente
la première balise rencontrée. Pour obtenir le nombre de basiles contenu dans
cette collection on utilise la propriété length. Exemple :
nodeList = node.getElementsByTagName("h3");
nodeList.length; // nombre de h3 dans le document
nodeList.item(2); // accession à la 3 ème balise h3 rencontrée
nodeList[2]; // accession à la 3 ème balise h3 rencontrée
Exemple
Un exemple simple d'utilisation de cette méthode et de
déterminer le nombre de
balises <p> dans ce document à partir de différents node.
Voici le script example2 codé en javascript utilisé :
getElementsByTagName est utilisé sur les node
sélectionnés pour rechercher toutes les occurences de <p>
dans tous les node inférieurs au node sélectionné.
Et, associé à la propriété length on obtient le nombre d'occurence
de la balise <p> à partir des node
sélectionnés.
Noter la différence de résultat entre les différents div du document.
Référez-vous au schéma du document pour comprendre
les résultats observés.