jquery基于类名查找上一个
我正在尝试使用jquery根据项目的类名查找项目。基本上我有这样的结构:jquery基于类名查找上一个,jquery,find,Jquery,Find,我正在尝试使用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
<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”的标记。所以它会找到“sub2b”,然后找到“mainlevel2”,因为它是前一个带有“mainlevel”类的标记。。如果这有意义的话
我知道,如果列表的结构正确,这会容易得多,但不幸的是,这正是我必须处理的问题/ 您可以使用和来完成,如下所示:
$("#active").parent().prevAll(":has(.mainlevel):first").children()
这将转到父级,然后搜索包含所提供选择器的所有以前的同级(使用),它们的顺序相反(首先是最接近的同级),因此您需要一个,然后转到子级以获取
中的,您可以使用,如下所示:
$("#active").parent().prevAll(":has(.mainlevel):first").children()
这将转到父级,然后搜索包含所提供选择器的所有以前的同级(使用),它们的顺序相反(首先是最近的同级),因此您需要一个,然后转到子级以获取
+1-是的,:has()
将其覆盖。不知道我在想什么!:o) 有没有办法隐藏属于主级别“组”的子级别项目,该组没有id为“活动”的项目?@SoulieBaby:主级别没有兄弟级别的集合,每个级别下面都有一个
,有什么原因吗,包含元素的子级元素?这将大大简化一切。我正在尝试修改一个已经结构化的系统,我没有访问特定文件的权限来重新创建该列表:S我只能修改某些页面sign+1-是的,:has()
将其关闭。不知道我在想什么!:o) 有没有办法隐藏属于主级别“组”的子级别项目,该组没有id为“活动”的项目?@SoulieBaby:主级别没有兄弟级别的集合,每个级别下面都有一个
,有什么原因吗,包含元素的子级元素?这将大大简化一切。我正在尝试修改一个已经结构化的系统,我没有访问特定文件的权限来重新创建列表:S我只能修改某些页面