예를 들어, 내가 작성해야하는 요소의 3 차 부모를 얻으려면 $('#element').parent().parent().parent()
더 최적의 방법이 있습니까?
답변
때문에 부모가 () 외부 사람에 가장 가까운에서 주문 조상 요소를 반환, 당신은에 그것을 체인 수 ) (EQ :
$('#element').parents().eq(0); // "Father".
$('#element').parents().eq(2); // "Great-grandfather".
답변
찾고있는 부모를 아는 경우 필요에 따라 .parents () 선택기를 사용할 수 있습니다.
예 :
http://jsfiddle.net/HenryGarle/Kyp5g/2/
<div id="One">
<div id="Two">
<div id="Three">
<div id="Four">
</div>
</div>
</div>
</div>
var top = $("#Four").parents("#One");
alert($(top).html());
인덱스를 사용하는 예 :
//First parent - 2 levels up from #Four
// I.e Selects div#One
var topTwo = $("#Four").parents().eq(2);
alert($(topTwo ).html());
답변
대상 부모에게 ID 또는 클래스 (예 : myParent)를 줄 수 있으며 참조는 $('#element').parents(".myParent")
답변
더 빠른 방법은 자바 스크립트를 직접 사용하는 것입니다.
var parent = $(innerdiv.get(0).parentNode.parentNode.parentNode);
jQuery .parent()
호출을 연결하는 것보다 브라우저에서 훨씬 빠르게 실행됩니다 .
답변
를 사용하여 답변을 찾지 못했습니다 closest()
. 필요한 요소의 레벨 수를 모르는 경우 가장 간단한 대답이라고 생각합니다. 따라서 답변을 게시하십시오. 선택자와 결합 된 함수를
사용하여 closest()
일치하는 첫 번째 요소를 얻을 수 있습니다 요소에서 위쪽으로 순회하는 경우 :
('#element').closest('div') // returns the innermost 'div' in its parents
('#element').closest('.container') // returns innermost element with 'container' class among parents
('#element').closest('#foo') // returns the closest parent with id 'foo'
답변
간단 해. 그냥 사용
$(selector).parents().eq(0);
여기서 0은 부모 수준입니다 (0은 부모, 1은 부모의 부모 등입니다)
답변
다음 :eq()
과 같이 선택기를 추가 하십시오.
$("#element").parents(":eq(2)")
부모를 지정하는 색인을 지정하십시오. 직계 부모의 경우 0, 조부모의 경우 1, …