Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jquery基于类名查找上一个_Jquery_Find - Fatal编程技术网

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

我正在尝试使用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”的标记。所以它会找到“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我只能修改某些页面