Прежде всего, как уже отмечал Джон, вы не собираетесь ничего удалять с помощью используемого вами селектора. Я удалил часть children () переменной tree_ul, чтобы помочь с этим. Кроме того, поскольку вы храните tree_ul в переменной, tree_ul.size () будет возвращать то же значение даже после удаления дочерних элементов, поскольку оно не будет обновляться после удаления элементов.
Вот обновленный код, который должен работать для вас:
$(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() {
// list limit
var max_listCount = 3;
// remove the last element if the list size exceeds the limit
$('#Tree ul li ul:first').children().filter(function(index){
return (index >= max_listCount);
}).remove();
}
});
Вот ссылка для просмотра в действии http://jsbin.com/ovala
РЕДАКТИРОВАТЬ: я обновил, чтобы включить решение фильтра Джона ().