클래스별로 다음 요소를 어떻게 찾을 수 있습니까?
나는 시도 $(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')