La méthode Element.getElementsByClassName()
retourne une HTMLCollection
contenant une référence sur tous les éléments ayant les noms de classes passés en paramètre. Quand la méthode est appelée sur l'objet document, la recherche s'effectue dans le document complet, noeud racine compris.
À l'instar de la méthode Document.getElementsByClassName()
qui agit sur le document entier ; elle va retourner les descendants de l'élément spécifié comme document root qui auront les noms de classes passés en paramètre.
Syntaxe
var elements = element.getElementsByClassName(names);
- elements est une
HTMLCollection
de référence vers les élements trouvés. - names est une chaine représentant la liste des noms de classes à trouver; les noms de classes sont séparés par un espace.
- element est n'importe quel
Element
du document.
Exemples
Obtient tous les élements ayant une classe test
:
element.getElementsByClassName('test');
Obtient tous les élements ayant à la fois la classe red
et la classe test
:
element.getElementsByClassName('red test');
Obtient tous les élements qui ont une classe test
, à l'intérieur d'un élement qui a pour id main
:
document.getElementById('main').getElementsByClassName('test');
On peut aussi utiliser les méthodes de Array.prototype
sur chaque HTMLCollection
en passant la HTMLCollection
comme valeur this de la méthode. Ci-dessous on trouvera tous les <div>
avec une classe test
:
var testElements = document.getElementsByClassName('test'); var testDivs = Array.prototype.filter.call(testElements, function(testElement){ return testElement.nodeName === 'div'; });
Spécifications
Spécification | Statut | Commentaire |
---|---|---|
DOM La définition de 'Element.getElementsByClassName()' dans cette spécification. |
Standard évolutif | Définition initiale |
Compatibilité des navigateurs
Caractéristique | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Support basique | (Oui) | (Oui) [1] | 9 | (Oui) | (Oui) [2] |
Caractéristique | Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|
support basique | ? | ? [1] | ? | ? | ? |
[1] Avant Firefox 19, la méthode retournait un NodeList
; Ceci a ensuite été modifié pour refléter les changements dans la spec.
[2] Safari sur iOS 8 et OS X 10.10 retourne un NodeList
.