Jquery:如何定位父级ul并统计li的持有量?

时间:2010-04-23 16:16:11

标签: javascript jquery html

我正在使用jstree来构建树状菜单。
当您在树中选择一个项目时,右侧的div会显示某些信息。信息可以删除。
当它被删除时,我从树中删除该项目 问题是当从ul中删除最后一个li时,我需要删除ul并从父li中删除“open”和“close”类并添加类“leaf”。
我很难将目标定位到ul,然后又针对父li。 我必须使用“clicked”类作为起始参考。

这是树html:

<li id="447" class="open">
     <a href="#"><ins>&nbsp;</ins>ZigBee Remote Pairing-D</a>
     <ul>
         <li id="470" class="leaf last clicked">
               <a href="#"><ins>&nbsp;</ins>RCA TV2 - Audio Quality-F</a>
         </li>
     </ul>
 </li>

这是jquery:

var numLi = $(".clicked").parent("ul:first > li").size();//get number of li in ul             
if (numLi == 1){
    $(".clicked").parent("ul:first").parent("li:first").removeClass().addClass("leaf");
}
$(".clicked").parent("li:first").remove();//remove the list item from the tree

1 个答案:

答案 0 :(得分:0)

这样的事情应该有效:

var clickedLi = $('.clicked').parent('li');
var parentUlOfClickedLi = clickedLi.parent('ul');
if (parentUlOfClickedLi.children('li').length === 1) {
    parentUlOfClickedLi.parent('li')
        .removeClass('open close')
        .addClass('leaf');
}
clickedLi.remove();