jquery,按类查找下一个元素
我怎样才能find下一个类的元素。
我尝试使用$(obj).next('.class');
但是这只返回$(obj)
父类中的类。 我需要通过类名在代码中的任何位置使用下一个元素。 因为我的代码看起来像
<table> <tr><td><div class="class">First</div></td></tr> <tr><td><div class="class">Second</div></td></tr> </table>
这可能吗?
在这种情况下,您需要使用<tr>
然后使用.next()
,如下所示:
$(obj).closest('tr').next().find('.class');
或者,如果内部没有.class
,那么可以使用.nextAll()
,如下所示:
$(obj).closest('tr').nextAll(':has(.class):first').find('.class');
你不能在这种情况下使用next(),如果你看看它所说的文档 :
Next()获取 匹配元素集合中 每个元素 的 紧随其后的同胞 。 如果提供了select器,它将检索与select器匹配的下一个兄弟。
所以如果第二个DIV是在同一个TD,那么你可以编码:
// Won't work in your case $(obj).next().filter('.class');
但是既然不是,我没有看到使用next()的一点。 你可以改为编码:
$(obj).parents('table').find('.class')
要find具有相同类的下一个元素:
$(".class").eq( $(".class").index( $(element) ) + 1 )