-3

jstree 看起来像这样:

<ul>
    <li id ="head" ><a href="#">TITLE</a>
        <ul>
            <li id="body"><a href="#">BODY</a>
               <ul>
                  <li id="foot"><a href="#">FOOTER</a>
                  </li>
               </ul>

            </li>   
        </ul>
    </li>
</ul>

这基本上是一棵深度为 3 的树。

我只是想知道是否可以head从 id " " 访问 id " foot"

就像是

             jQuery(#foot).parent().parent();
or       
             jQuery(#foot).parent().parent.attr("id");

或类似的东西

4

4 回答 4

2

ID 在您的页面中应该是唯一的,因此您不应拥有多个具有相同 ID 的元素,因此您应该能够仅使用它$('#head')来选择它。

在你的情况下,我想你想使用一个类“头”,它可能在你的列表中出现很多次。

实现它的最简单方法是使用 jQuery closest()。它找到第一个匹配给定选择器的父级。

$('#foot1').closest('.head')

http://api.jquery.com/closest/

于 2013-05-30T18:22:37.607 回答
0

你总是可以使用parents方法:

$('#foot').parents('#head');

虽然,由于头部有一个 ID,你可以直接查找它:$('#head')

于 2013-05-30T18:21:48.237 回答
0

你冷写:

$('#' + $('#foot').parent().parent().parent().parent().prop('id')).do something with head

请务必阅读 .prop() 和 .attr() 之间的区别

于 2013-05-30T18:21:51.660 回答
0

假设这些是页面上唯一的<ul><li>元素。

 $('#foot').parents('li:last').attr('id');

应该给你的是id哪个head

parents()函数从最近到最远列出元素的父级。所以最后一个li元素将是具有 id的元素head

在这里拉小提琴。

于 2013-05-30T18:21:54.440 回答