如何使用JavaScript从下面的代码片段中获取ul id(级别1)? 一个 两个 aaa bbb
我的代码中有如何使用JavaScript从下面的代码片段中获取ul id(级别1)? 一个 两个 aaa bbb,javascript,jquery,Javascript,Jquery,我的代码中有ulid(level_2),基于level_2,我需要使用JavaScript获取level_1。如果你不知道id名称,你可以使用: <ul id="level_1"> <li id="one">ONE</li> <li id="two">TWO</li> <li> <ul id="level_2"> <li id="aaa">
ulid(level_2)
,基于level_2
,我需要使用JavaScript获取level_1
。如果你不知道id
名称,你可以使用:
<ul id="level_1">
<li id="one">ONE</li>
<li id="two">TWO</li>
<li>
<ul id="level_2">
<li id="aaa">AAA</li>
<li id="bbb">BBB</li>
</ul>
</li>
</ul>
如果您知道id
,只需使用:
var firstLevelUL = $('#level_2').closest('ul');
您可以尝试将eq()与parents()一起使用。eq()是零基索引,所以第一个元素的索引为零,第三个元素的索引为2
$(this.parents().eq(3.attr('id') 为什么我在这里测试您的代码时返回相同的Id
#Level_2
,并且在使用.closest()
后首先转到父级时返回正确的Id?有趣的问题,顺便提一下,你可以使用.parents()
而不是.closest()
:$(“#level_2')。parents('ul')。attr('id')
:我认为这很可能是因为.closest()
在向上遍历DOM树时,也会考虑匹配元素的当前标记,因此您将得到level_2
的结果,因为level_2
也是ul
,您可以尝试使用eq()和parents()。eq()是零基索引,所以第一个元素的索引为零,第三个元素的索引为2$(this).parents().eq(3).attr('id');
var firstLevelUL = $('#level_1');