반응형
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> 다음과 같이 사용합니다.
$(obj).closest('tr').next().find('.class');
또는 그 사이에 행이 있을 수도 있습니다..class안에서, 당신은 다음과 같이 사용할 수 있습니다:
$(obj).closest('tr').nextAll(':has(.class):first').find('.class');
클래스가 같은 다음 요소를 찾는 방법:
$(".class").eq( $(".class").index( $(element) ) + 1 )
이 시나리오에서는 next()를 사용할 수 없습니다. 설명서를 보면 다음과 같습니다.
다음() Get the각 요소의 형제 바로 뒤에.일치하는 요소 집합에 포함됩니다.선택기가 제공되면 선택기와 일치하는 다음 형제를 검색합니다.
따라서 두 번째 DIV가 동일한 TD에 있을 경우 다음을 코드화할 수 있습니다.
// Won't work in your case
$(obj).next().filter('.class');
But since it's not, I don't see a point to use next(). You can instead code:
$(obj).parents('table').find('.class')
첫 번째 선택기가 주어지면:셀렉터 A, 셀렉터 B의 다음 매치는 아래와 같습니다.
마우스 오버를 사용하여 테두리를 변경하는 예:
$("SelectorA").on("mouseover", function() {
var i = $(this).find("SelectorB")[0];
$(i).css({"border" : "1px"});
});
}
테두리를 변경하는 일반 사용 예제:
var i = $("SelectorA").find("SelectorB")[0];
$(i).css({"border" : "1px"});
태그 이름으로 다음 요소를 찾으려면
function findNext(start, tag)
{
while(start.nodeName !== tag)
{
start = start.nextElementSibling;
}
return start;
}
언급URL : https://stackoverflow.com/questions/3670136/jquery-find-next-element-by-class
반응형
'programing' 카테고리의 다른 글
| 기존 테이블스페이스의 MAXSIZE를 결정하는 방법 (0) | 2023.09.09 |
|---|---|
| HTML div 태그의 테두리를 설정하는 방법 (0) | 2023.09.09 |
| 타임리프, 프래그먼트 및 기본 파라미터 (0) | 2023.09.09 |
| VS Code에서 [pwsh]와 [Powershell Integrated Console]의 차이점은 무엇입니까? (0) | 2023.09.09 |
| 클래스 선택기 및 속성 선택기를 jQuery와 결합 (0) | 2023.09.09 |