[javascript] jQuery에서 알려진 클래스를 가진 부모를 찾는 방법은 무엇입니까?
나는 <div>
그 <div>
안에 다른 중첩 레벨에 많은 다른 것들이 있습니다. 모든 어린이 <div>
에게 식별자를 부여하는 대신 루트 <div>
에 식별자를 부여합니다 . 예를 들면 다음과 같습니다.
<div class="a" id="a5">
<div class="b">
<div class="c">
<a class="d">
</a>
</div>
</div>
</div>
jQuery에서 클래스에 응답하는 함수를 작성 d
하고 부모 클래스의 ID를 찾으려면 a
어떻게해야합니까?
$('.a').attr('id');
여러 클래스가 있기 때문에 간단하게 할 수 없습니다 a
. 부모의 부모의 ID를 찾을 수는 있지만 디자인이 느리고 느리고 매우 다형성이 아닌 것 같습니다 (클래스의 ID를 찾기 위해 다른 코드를 작성해야합니다 c
).
답변
답변
선택기를 jQuery 부모 함수에 전달하십시오.
d.parents('.a').attr('id')
편집 흠, 실제로 Slaks의 대답은 선택자와 일치하는 가장 가까운 조상 만 원한다면 우수합니다.
답변
부모 () 를 사용 하여 주어진 선택기를 가진 모든 부모를 얻을 수 있습니다 .
설명 : 현재 일치하는 요소 집합에서 각 요소의 조상을 가져오고 선택적으로 선택기로 필터링합니다.
그러나 parent () 는 요소의 첫 번째 부모 만 가져옵니다.
설명 : 현재 일치하는 요소 집합에서 각 요소의 부모를 가져오고 선택적으로 선택기로 필터링합니다.
그리고 내가 최고라고 생각하는 .parentsUntil () 이 있습니다.
설명 : 현재 일치하는 요소 집합에서 각 요소의 조상을 가져옵니다 (선택자가 일치하는 요소는 포함하지 않음).
답변
.parentsUntil () 사용
$(".d").parentsUntil(".a");
답변
위의 @Resord의 의견에서 추출되었습니다. 이것은 나를 위해 일했고 질문에 더 가깝습니다.
$(this).parent().closest('.a');
감사