jquery, Znajdź następny element według klasy
Jak mogę znaleźć następny element według klasy.
Próbowałem z $(obj).next('.class');
ale to zwraca klasy tylko w $(obj)
rodzicu.
Muszę przenieść następny element w dowolne miejsce w kodzie po nazwie klasy.
Ponieważ mój kod wygląda jak
<table>
<tr><td><div class="class">First</div></td></tr>
<tr><td><div class="class">Second</div></td></tr>
</table>
Czy to możliwe? 3 answers
W tym przypadku musisz przejść do <tr>
Następnie użyj .next()
, tak:
$(obj).closest('tr').next().find('.class');
Lub jeśli mogą być wiersze pomiędzy Bez .class
wewnątrz, możesz użyć .nextAll()
, tak:
$(obj).closest('tr').nextAll(':has(.class):first').find('.class');
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-09-08 22:33:04
Nie możesz użyć next () w tym scenariuszu, jeśli spojrzysz na Dokumentacja jest napisane:
Next () Get the bezpośrednio po każdym elemencie W Zestawie dopasowanych elementów. Jeśli dostępny jest selektor, pobiera on następne rodzeństwo pasujące do selektora.
więc jeśli drugi DIV był w tym samym TD to można kodować:
// Won't work in your case
$(obj).next().filter('.class');
Ale ponieważ nie jest, nie widzę sensu używać next (). Możesz zamiast tego kod:
$(obj).parents('table').find('.class')
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-09-08 17:56:02
Aby znaleźć następny element o tej samej klasie:
$(".class").eq( $(".class").index( $(element) ) + 1 )
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-09-14 02:47:47