如何使用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');