Bonjour,
j'ai un petit problème avec une boucle sur un getElementsByClassName().
J'ai une fonction, que voici :
qui va intéragir sur l'HTML suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 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'; }
Lancée par un onload sur le <body>, elle me renvoie l'erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <div class="actualites"> <div class="title"></div> <div class="content" id="newsContent"> <p class="news">Les solutions pour décrocher les meilleurs crédits. Pour faire plier les banques, qui prêtent de...</p> <p class="news">Test 2</p> </div> <div class="more"></div> </div>Ce qui est étrange, c'est que quand je fait undocument.getElementById('newsContent').getElementsByClassName('news')[i] is undefinedla fonction me renvoie bien le contenu de la première news.
Code : Sélectionner tout - Visualiser dans une fenêtre à part alert(document.getElementById('newsContent').getElementsByClassName('news')[0].innerHTML);
Comment ce fait'il que la fonction n'arrive pas à interpréter correctement la variable i, dans ma boucle ?
Partager