[jquery] jquery, 클래스별로 다음 요소 찾기

클래스별로 다음 요소를 어떻게 찾을 수 있습니까?

나는 시도 $(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() 과 같이 then use 로 이동해야합니다 .

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

또는 .class내부 없이 중간에 행이있을 수있는 경우 다음 .nextAll()과 같이 사용할 수 있습니다 .

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


답변

같은 클래스를 가진 다음 요소를 찾으려면 :

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


답변

문서 를 보면 다음과 같은 시나리오에서 next ()를 사용할 수 없습니다 .

Next () 일치하는 요소 집합에서 각 요소 바로 다음 형제를 가져 옵니다. 선택기가 제공되면 선택자와 일치하는 다음 형제를 검색합니다.

두 번째 DIV가 동일한 TD에 있으면 다음과 같이 코딩 할 수 있습니다.


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

그러나 그렇지 않기 때문에 next ()를 사용할 지점이 없습니다. 대신 다음과 같이 코딩 할 수 있습니다.


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


답변