如何通过类查找下一个元素。
我试过使用 $(obj).next('.class');,但它只返回 $(obj)父类中的类。 我需要在整个代码中按类名任意取下一个元素。 因为我的代码看起来像
$(obj).next('.class');
$(obj)
<table> <tr><td><div class="class">First</div></td></tr> <tr><td><div class="class">Second</div></td></tr> </table>
这可能吗?
在这个场景中不能使用 next () ,如果你看一下 Rel = “ norefrer”> document 文档,它会说: Next ()获取匹配元素集中的 紧跟在每个元素的兄弟元素之后 < em > 。如果提供了选择器,它将检索与选择器匹配的下一个同级。 因此,如果第二个 DIV 在相同的 TD 中,那么您可以编写:
// Won't work in your case $(obj).next().filter('.class');
$(obj).parents('table').find('.class')
In this case you need to go up to the <tr> 那么 use .next(), like this:
<tr>
.next()
$(obj).closest('tr').next().find('.class');
或者,如果中间可能有行,但内部没有 .class,则可以使用 .nextAll(),如下所示:
.class
.nextAll()
$(obj).closest('tr').nextAll(':has(.class):first').find('.class');
要查找具有相同类的下一个元素:
$(".class").eq( $(".class").index( $(element) ) + 1 )
Given a first selector: 选择器 A, you can find the next match of 选择 B as below:
使用 mouseover 更改边框的示例-使用:
$("SelectorA").on("mouseover", function() { var i = $(this).find("SelectorB")[0]; $(i).css({"border" : "1px"}); }); }
一般用于更改边框的示例-使用:
var i = $("SelectorA").find("SelectorB")[0]; $(i).css({"border" : "1px"});
按标记名查找下一个元素
function findNext(start, tag) { while(start.nodeName !== tag) { start = start.nextElementSibling; } return start; }