Bonjour a tous;
mon problème c'est que je veux crée un déroulant en javascript je suis un peu débutant dans javascript. voilà j'ai une liste

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
19
20
 
<html><head></head>
<body>
<ul id="menu">
   <li>Element-1
         <ul>
             <li>Element-1-1</li>
             <li>Element-1-2</li>
         </ul>
   </li>
   <li>Element-2
         <ul>
             <li>Element-2-1</li>
             <li>Element-1-2</li>
         </ul>
   </li>
   <li>Element-3</li>
</ul>
</body>
</html>
mais bien sur le menu peut avoir plus de deux niveau je veux ajouter des idName et des classNam à l'aide dune fonction javascripte qui teste chaque noeud et lui donner la className ou le idName correspondant à mon menu comme ceci :

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
19
20
 
<html><head></head>
<body>
<ul id="menu">
   <li id="liniv0">Element-1
         <ul id="ulniv0">
             <li id="liniv1">Element-1-1</li>
             <li id="liniv1">Element-1-2</li>
         </ul>
   </li>
   <li id="liniv0">Element-2
         <ul id="ulniv0">
             <li id="liniv1">Element-2-1</li>
             <li id="liniv1"i>Element-1-2</li>
         </ul>
   </li>
   <li id="liniv0">Element-3</li>
</ul>
</body>
</html>

j'ai utiliser une fonction récursive comme suite mais je sais pas où est le problème sachez que je suis débutant et voilà ma fonction récursive:

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
19
20
 
idmenu="menu";
function menuderoulant(idmenu,k){
	nod=document.getElementById(idmenu);
	nod=nod.childNodes;
	for(i=0;i<nod.length;i++){
		if(nod[i].nodeType==1){
			nod[i].id="limenu"+k;
			noed=nod[i].childNodes;
			for(j=0;j<noed.length;j++){
				if(noed[j].nodeType==1){
					noed[j].id="ulmenu"+k;
                                        d=k+1;
					menuderoulant(noed[j].id,d);
				}
			}
		}
 
	}
}