2016-11-30 7 views
0

Ich habe eine Baumansicht dynamisch generiertWie kann man dynamisch in UL- und LI-Elemente einlaufen?

Die Idee ist es, in sie zu loopen, nur um einige Werte zu erhalten, aber wir wissen nicht, wie viele Kinder jedes Element hat.

<ul> 
    <li>something here</li> 
    <li>something here 
     <ul> 
      <li></li> 
      <li></li> 
      ...more and more childs 
     </ul> 
    </li> 

</ul> 
+1

Sie sollten es mit einer rekursiven Funktion tun. –

+1

Mögliches Duplikat von [jQuery Suchen und Auflisten aller LI-Elemente innerhalb eines UL innerhalb eines bestimmten DIV] (http://stackoverflow.com/questions/7101945/jquery-find-and-list-all-li-elements-within-a -ul-in-a-specific-div) –

+0

Es wäre viel einfacher, wenn Sie Attribute für die Werte verwenden würden – monssef

Antwort

2
function getNode($node) { 
    var $children = $node.children(); 
    if ($children.length) { 
    $children.each(function() { 
     getNode($(this)); 
     }) 
     //Do something with the branch 
    } else { 
    //Do something with the leaf 
    } 
} 

getNode($('#your_tree_top_node')); 

Dieser Code wird rekursiv durch Ihren Baum gehen, bis sie die Blätter findet und ermöglicht es Ihnen, auf die Blätter die Äste und dann zu handeln, nachdem alle Blätter dieser Zweig verarbeitet wurde.

Verwandte Themen