Alors, je vous expose mon problème...
voici le code html sur lequel est ciblé mon script :
Et voici donc le code javascript de la fonction :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <div class="news"><h3><big>GRANDE NOUVELLE !</big></h3><p class="corps">bla bla bla <span class="spoil" onClick="gere_spoil(this);">Spoil</span><div class="spoil"> rebla bla bla bla <small>bla bla toujours</small></div><br /> <br /> fin du bla bla</p><span class="auteur">Tsukaniki </span><span class="date"> le 18-06-2007 à 14:32:16</span></div>
Le problème est simple : cette fonction ne marche pas... Or sur un autre de mes site, elle fonctionne parfaitement, et la seule différence entre les deux sites sont les balises.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 var spoilUncovered = false ; function gere_spoil(elem) { div_parent = elem.parentNode ; i_max = div_parent.childNodes.length ; for (i=0 ; i < i_max-1 ; i++) { if (div_parent.childNodes[i] == elem) { var colP = (spoilUncovered)?('#FFFFFF'):('#000000') ; spoilUncovered = !spoilUncovered ; div_parent.childNodes[i+1].style.color = colP ; for (j=0,j_max=div_parent.childNodes[i+1].childNodes.length ; j<j_max ; j++) { if (div_parent.childNodes[i+1].childNodes[j].tagName != undefined) { div_parent.childNodes[i+1].childNodes[j].style.color = colP ; } } break ; } } }
Dans ma recherche de la cause du problème, j'ai découvert que div_parent.childNodes.length vaut 2 . . . ce qui ne devrait pas être le cas au vu du code. Quelqu'un sait pourquoi ?
Partager