gpt4 book ai didi

jquery 根据类名查找上一个

转载 作者:行者123 更新时间:2023-12-01 07:01:35 24 4
gpt4 key购买 nike

我正在尝试使用 jquery 根据其类名查找项目。基本上我有这样的结构:

<ul class="vm_cat">
<li><a class="mainlevel" href="/">MAIN LEVEL 1</a></li>
<li><a class="sublevel" href="/">sub 1 a</a></li>
<li><a class="sublevel" href="/">sub 1 b</a></li>
<li><a class="sublevel" href="/">sub 1 c</a></li>
<li><a class="sublevel" href="/">sub 1 d</a></li>
<li><a class="mainlevel" href="">MAIN LEVEL 2</a></li>
<li><a class="sublevel" href="/">sub 2 a</a></li>
<li><a class="sublevel" href="/" id="active">sub 2 b</a></li>
<li><a class="sublevel" href="/">sub 2 c</a></li>
<li><a class="mainlevel" href="/">MAIN LEVEL 3</a></li>
<li><a class="sublevel" href="/">sub 3 a</a></li>
</ul>

我希望 jQuery 找到哪个标签的 id 为“active”,然后找到前一个带有“mainlevel”的标签。所以它会找到“sub 2 b”,然后找到“MAIN LEVEL 2”,因为它是前一个具有“mainlevel”类的标签..如果这有任何意义吗?

我知道如果列表结构正确,这会容易得多,但不幸的是,这就是我必须处理的问题。 :/

最佳答案

您可以使用 .prevAll() 来做到这一点和 :first ,像这样:

$("#active").parent().prevAll(":has(.mainlevel):first")​.children()

Give it a try here

这会上升到父级,然后搜索包含提供的选择器的所有先前同级(使用 :has() ),并且它们按相反顺序(首先是最近的同级),因此您需要 :first 一、然后去 child 那里拿<a>里面<li> .

关于jquery 根据类名查找上一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3331849/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com