在jstree中获取节点的最后一个子节点

时间:2014-03-20 19:20:17

标签: jquery nodes jstree

我有一个生成类似的jstree:

<ul>
<li id="BA"><a href="#"> Block Address </a>
    <ul>
       <li id="SA"><a href="#">Street Address</a></li>
       <li id="C"><a href="#">City</a></li>
       <li id="P"><a href="#">Province</a></li>
    </ul>
</li>

我必须找到所选节点的最后一个子节点,在本例中为Block Address。我确实尝试过使用:

  var id = data.rslt.obj.attr("id");
   var last_child =  $("#"+id + "li:last-child").attr("id");
    alert(last_child);

我想在弹出框中显示P。有人可以帮助我,为什么要告诉我做错了什么?

2 个答案:

答案 0 :(得分:1)

所以我终于找到了解决方案,感谢https://stackoverflow.com/users/1586880/null和他的建议。

我不是在找最后一个孩子,而是最后一个孩子:

var id = data.rslt.r.attr("id");
alert($("#"+id).find("li:last-child").attr("id"));

再次感谢!

答案 1 :(得分:0)

li:last-child之前添加空格:

 $("#"+id + " li:last-child").attr("id");
             ^ - Here

当您搜索后代<li>元素时,您当前的选择器将呈现为:

"#<IDhere>li:last-child",这是不正确的。