Le nom de la fonction DOM est en fait getElementsByClassName
pas getElementByClassName
En effet, plusieurs éléments de la page peuvent avoir la même classe : Elements
.
La valeur de retour sera une instance de NodeList, ou un sur-ensemble de l'instance de NodeList. NodeList
(FF, par exemple, renvoie une instance de HTMLCollection
). En tout cas, la valeur de retour est un objet de type tableau :
var y = document.getElementsByClassName('foo');
var aNode = y[0];
Si, pour une raison quelconque, vous besoin de l'objet de retour en tant que tableau, vous pouvez le faire facilement, grâce à sa propriété magique de longueur :
var arrFromList = Array.prototype.slice.call(y);
//or as per AntonB's comment:
var arrFromList = [].slice.call(y);
Comme yckart Proposition de querySelector('.foo')
y querySelectorAll('.foo')
seraient toutefois préférables, car ils sont effectivement mieux supportés (93,99 % contre 87,24 %), selon caniuse.com :