Page 1 sur 1

boucle sur getElementsByClassName()

Posté : 01 oct. 2008, 13:17
par VaN
Bonjour,

j'ai un petit problème avec une boucle sur un getElementsByClassName().

J'ai une fonction, que voici :

Code : Tout sélectionner

function rollNews() { //alert(document.getElementById('newsContent').getElementsByClassName('news').length); var cursor = 0; for(var i = 0; i <= document.getElementById('newsContent').getElementsByClassName('news').length; i++) { document.getElementById('newsContent').getElementsByClassName('news')[i].style.display = 'none'; } //document.getElementById('newsContent').getElementsByClassName('news')[cursor].style.display = 'block'; }
qui va intéragir sur l'HTML suivant :

Code : Tout sélectionner

<div class="actualites"> <div class="title"></div> <div class="content" id="newsContent"> <p class="news">Les solutions pour d&eacute;crocher les meilleurs cr&eacute;dits. Pour faire plier les banques, qui pr&ecirc;tent de...</p> <p class="news">Test 2</p> </div> <div class="more"></div> </div>
Lancée par un onload sur le <body>, elle me renvoie l'erreur :
document.getElementById('newsContent').getElementsByClassName('news') is undefined


Ce qui est étrange, c'est que quand je fait un

Code : Tout sélectionner

alert(document.getElementById('newsContent').getElementsByClassName('news')[0].innerHTML);
la fonction me renvoie bien le contenu de la première news.

Comment ce fait'il que la fonction n'arrive pas à interpréter correctement la variable i, dans ma boucle ?