ich einen Baum mit ul
haben und hat die folgende Struktur:jQuery derzeit keine Listenelemente entfernen
<div id="Tree">
<ul>
<li>
<a class="collapseLink" href="#">
<span class="hide">Expand Root Node</span>
</a>
<a class="selectLink" href="#">
Root Node
</a>
<ul>
<li id="item_1">Sub Node 1</li>
<li id="item_2">Sub Node 2</li>
<li id="item_3">Sub Node 3</li>
<li id="item_4">Sub Node 4</li>
<li id="item_5">Sub Node 5</li>
<li id="item_6">Sub Node 6</li>
</ul>
</li>
</ul>
</div>
Ich würde am liebsten die Anzahl der Sub-Knoten im Baum zu begrenzen und versuchte, Implementieren Sie das mit den folgenden:
$(document).ready(function() {
var rootNode = $('#Tree ul li a:first');
// If the root node has an 'expandLink' class then it's closed and can be opened //(via a click)
if (rootNode.hasClass('expandLink')){
rootNode.click();
limitRootNodes();
}
function limitRootNodes() {
// Get the direct child nodes for the root list element
var tree_ul = $('#Tree ul li ul:first').children();
// list limit
var max_listCount = 3;
// remove the last element if the list size exceeds the limit
while (tree_ul.size() > max_listCount){
$('li:last-child', tree_ul).remove();
}
}
});
Der obige Code entfernt jedoch nicht die überschüssigen Elemente der Liste. Irgendwelche Vorschläge, was das verursacht?
Spot auf José, nach Refactoring der Code nach T B, John und Ihre Vorschläge, meine App funktioniert jetzt! Kudos für die entscheidende Hilfe. – chridam