Je veux savoir s'il existe un moyen de getElementByClassName("classname").innerHTML
fonction ou quelque chose à l'équivalent de getElementById("ClassName").innerHTML
.
Il manque un s
dans le nom de votre fonction. getElementsByTagName
renvoie une collection d'éléments, d'éléments, sur lesquels vous devez répéter:
var elements = document.getElementsByClassName("classname");
for (var i = 0; i < elements.length; i++) {
elements[i].innerHTML = 'foo';
}
IE8 et les versions antérieures ne prennent pas en charge getElementsByClassName
, vous devrez donc trouver un polyfill ou utiliser querySelectorAll
(IE8).
Je vous suggère d'utiliser JQuery, où vous pouvez utiliser directement des sélecteurs CSS (comme .yourclass) pour trouver tous les éléments d'une classe donnée:
$('.yourclass').doWhatYouWant();
Si vous préférez ne pas utiliser JQuery, vous pouvez utiliser du Javascript simple:
document.getElementsByClassName('my-fancy-class')
Mais soyez prudent avec le problème d'incompatibilité IE8. Comme alternative (plus lent mais vous pouvez créer des sélecteurs CSS plus complexes), vous pouvez utiliser:
document.querySelector('.cssSelector')
Qui retournera n élément répondant à votre sélecteur CSS, ou
document.querySelectorAll('.cssSelector')
Qui renverra plusieurs éléments à la place.