Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.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 - Fatal编程技术网

使用jquery向后遍历

使用jquery向后遍历,jquery,Jquery,我有下面这样的代码 如果单击“finallink”类,我希望选择或显示与“level_u2;”类匹配的所有先前元素,直到“parent”类。有很多“级别”类,比如“级别1,级别2…级别n” ​ 如何获取所有“level_uuu”值。示例代码如果标记类似于问题,其中finallink是最后一个元素,或者至少在同一父级中没有任何具有\u level类的元素,则可以首先获取与.parent类匹配的最近父级,然后查找()与\u级别匹配的所有元素类别: $(".finallink").closest(".

我有下面这样的代码

如果单击“finallink”类,我希望选择或显示与“level_u2;”类匹配的所有先前元素,直到“parent”类。有很多“级别”类,比如“级别1,级别2…级别n”


如何获取所有“level_uuu”值。示例代码

如果标记类似于问题,其中
finallink
是最后一个元素,或者至少在同一父级中没有任何具有
\u level
类的元素,则可以首先获取与
.parent
类匹配的最近父级,然后
查找()
\u级别匹配的所有元素
类别:

$(".finallink").closest(".parent")
               .find("[class^='level_']")
               .css("background-color","yellow");
否则,您可以执行以下操作:

$(".finallink").prevAll()
               .filter("[class^='level_']")
               .css("background-color","yellow");​
你说的是“以前的”级别,我指的是链接之前的级别。你说的是“直到父级<代码>父级类”,因为这是容器,这意味着我们可以使用所有以前的同级,然后过滤到只有一个<代码>级别x类的级别:

$(".finallink").click(function() {
    var list = $(this).prevAll().filter(function() {
        return this.className.match(/\blevel_/);
    });

    // Use `list`
});
|


即使你在
level_1
前面有其他类,例如

,这也能起作用,而这将在引用的HTML中起作用,只要OP通过向这些级别添加另一个类来稍微改变事情:
level 1 text
它就会中断。@T.J.Crowder-我只是在回答中添加了这个,但谢谢你谢谢你的注意!谢谢…这对我来说非常有效。但是如果我使用ul列表,那么它就不会像预期的那样工作。请检查这里的代码@Ra.:看看你的结构,然后从中选择合适的工具来做你需要的事。你的小提琴不工作,因为结构与你问题中的结构不同。这就像导航一样你的问题的结构就像办公大楼中的一层。你在a办公室,你问如何在同一层找到B办公室和C办公室,这就是我的答案。但在你的小提琴中,B办公室在一层楼上,C办公室在两层楼上。这自然会改变我们到达那里的方式。我只是加上父母()函数之前的prevAll()。现在它对我有效。请检查这里是否有任何方法可以将输出存储到不同的变量中,如$var1=somevalue1,$var2=somevalue2@Ra.:当然可以。
this.className.match(/\blevel\uuu/)所对应的每个元素
条件在
过滤器中为true
调用是其中一个元素。您可以在执行过程中单独获取有关它们的信息。
$(".finallink").prevAll()
               .filter("[class^='level_']")
               .css("background-color","yellow");​
$(".finallink").click(function() {
    var list = $(this).prevAll().filter(function() {
        return this.className.match(/\blevel_/);
    });

    // Use `list`
});