Comment puis-je trouver le prochain élément par classe.
j'ai essayé avec $(obj).next('.class');
mais cela retourne des classes uniquement dans $(obj)
parent. Je dois prendre le prochain élément n'importe où dans le code par nom de classe. Parce que mon code ressemble à
<table>
<tr><td><div class="class">First</div></td></tr>
<tr><td><div class="class">Second</div></td></tr>
</table>
Est-ce possible?
Dans ce cas, vous devez aller au <tr>
, puis utilisez .next()
, comme ça:
$(obj).closest('tr').next().find('.class');
Ou s'il peut y avoir des lignes entre les deux sans le .class
À l'intérieur, vous pouvez utiliser .nextAll()
, comme ceci:
$(obj).closest('tr').nextAll(':has(.class):first').find('.class');
Pour trouver l'élément suivant avec la même classe:
$(".class").eq( $(".class").index( $(element) ) + 1 )
Vous ne pouvez pas utiliser next () dans ce scénario, si vous regardez le documentation, il est indiqué:
Next () Obtenez le immédiatement le frère de chaque élément dans l'ensemble des éléments correspondants. Si un sélecteur est fourni, il récupère le frère suivant qui correspond au sélecteur.
Donc si la deuxième DIV était dans le même TD alors vous pourriez coder:
// Won't work in your case
$(obj).next().filter('.class');
$(obj).parents('table').find('.class')