クラスごとに次の要素を見つけるにはどうすればよいですか?.
$(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>
thenに移動する必要があります。次のように .next()
を使用します。
$(obj).closest('tr').next().find('.class');
または、内部に.class
のない行が存在する場合、次のように .nextAll()
を使用できます。
$(obj).closest('tr').nextAll(':has(.class):first').find('.class');
同じクラスを持つ次の要素を見つけるには:
$(".class").eq( $(".class").index( $(element) ) + 1 )
documentationを見れば、このシナリオでnext()を使用することはできません:
Next()Get the各要素の兄弟の直後- 一致した要素のセット内。セレクターが提供されている場合、セレクターに一致する次の兄弟を取得します。
したがって、2番目のDIVが同じTDにあった場合、次のようにコーディングできます。
// Won't work in your case
$(obj).next().filter('.class');
$(obj).parents('table').find('.class')