2010-06-21 4 views
0

Je HTML structure de code:Obtenir tous les éléments imbriqués dans la balise UL

<ul id="main"> 
<li> 
    <a href="#"></a> 
    <ul> 
     <li><a href="#"></a></li> 
     <li><a href="#"></a></li> 
     <li><a href="#"></a></li> 
    </ul> 
    <li> 
</ul> 

Vous voulez sélectionner tous les éléments à l'intérieur UL id = "principal".

a essayé d'utiliser:

var el = document.getElementById("main").getElementsByTagName("*"); 


for (var i=0; i<el.length; i++) { 
    alert(el[i].tagName); 
} 

Mais seulement obtenir des balises LI et A. Les étiquettes UL sont manquantes. Des idées ?

Répondre

3

Je reçois le tag <ul> avec votre code, faites un test ici: http://jsfiddle.net/RFKsC/1/ (c'est la troisième alerte).

Donc ce que vous avez devrait fonctionner, vous avez besoin d'un / dans votre code HTML bien, cette partie:

</ul> 
    <li> <!-- should be </li> --> 
</ul> 

Sans cette balise de fermeture, vous pouvez obtenir un comportement cross-browser funk/imprévisible, fixant devrait résoudre le problème.

+0

Oui, le code fonctionne bien. Le problème était avec toute la page. Certains lieux de code sont en conflit les uns avec les autres. Merci d'avoir répondu. J'apprécie cela. – Bounce

Questions connexes