Подтвердить что ты не робот

Jquery, найти следующий элемент по классу

Как я могу найти следующий элемент по классу.

Я попытался с $(obj).next('.class');, но это возвращает классы только в $(obj) parent. Мне нужно взять следующий элемент в любом месте кода по имени класса. Поскольку мой код выглядит как

<table>
<tr><td><div class="class">First</div></td></tr>
<tr><td><div class="class">Second</div></td></tr>
</table>

Возможно ли это?

4b9b3361

Ответ 1

В этом случае вам нужно перейти к <tr>, а затем использовать .next(), например:

$(obj).closest('tr').next().find('.class');

Или, если между .class могут быть строки между ними, вы можете использовать .nextAll(), например:

$(obj).closest('tr').nextAll(':has(.class):first').find('.class');

Ответ 2

Вы не можете использовать next() в этом сценарии, если вы посмотрите на документация, он говорит:

Next() Получите сразу же после каждого элемента в наборе согласованных элементов. Если предусмотрен селектор, он получает следующий брат, который соответствует селектору.



поэтому, если второй DIV был в одном TD, тогда вы можете закодировать:


// Won't work in your case
$(obj).next().filter('.class');

But since it not, I don't see a point to use next(). You can instead code:

$(obj).parents('table').find('.class')

Ответ 3

Чтобы найти следующий элемент с тем же классом:

$(".class").eq( $(".class").index( $(element) ) + 1 )