Bonjour,
je cherche a tester si les balises <li> de ma page html possèdent des fils ... j'endend par fils des balises <ul>
Mon probleme est que lorsque le <li> encadre un <a href>, mon test me renvoi true pour ce <li>, ce qui est normal.
Page Html
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
...
<li id="node2" noDelete="true"><a href="#">Norway</a>
   <ul>
       <li id="node3" noRename="true"><a href="#">Stavanger</a></li>
       <li id="node6"><a href="#">Bergen</a></li>
       <li id="node7"><a href="#">Oslo</a></li>
   </ul>
</li>
...
Code .js
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
var nodeId = 0;
var my_tree = document.getElementById(this.idOfTree);
var menuItems = my_tree.getElementsByTagName('LI');		
 
for(var no=0;no<menuItems.length;no++){
...
if(menuItems[no].hasChildNodes() == true) {
...
Pour contourner je fais cela :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
 var subItems = menuItems[no].getElementsByTagName('UL');
if(subItems.length==0)...
Existe-t-il une méthode plus élégante ?

Merci