2010-07-23 6 views
0

나는 DOM 요소 의 자손 인 DOM 요소 C을 가지고 있습니다. 그 사이에 여러 개의 레이어가 있으며 그 중 하나는 B이라는 요소 클래스입니다.DOM 계층의 특정 범위에있는 요소를 어떻게 선택할 수 있습니까?

내가 jQuery("#A")jQuery("#C)이있는 경우는, 어떻게 또한 A의 하위 클래스 BC의 부모 요소를 찾을 수 있습니까?

을 사용하는 경우 A 위에있는 B 클래스의 요소를 가져올 수 있습니다. 원하지 않는 요소입니다. 만약 내가 Afind()을 사용한다면 나는 원하지 않는 요소 인 C을 얻을 수 있습니다.

관심이있는 각 요소 사이의 레이어 수를 알 수 없습니다. 이 예제는 하나의 레이어를 보여 주지만, .children().children()을 할 수있게 해줄 것입니다. 단 2 레벨 밖에 떨어져 있지는 않습니다.

이 상황에서
... 
<div id="A"> 
<div> 
    <div class="B"> 
    <div> 
     <div id="C">...</div> 
    </div> 
    </div> 
</div> 
</div> 

답변

1

, 당신은 당신이 가장 가까운 div.B 항상 #A

아래에있을 것이라는 점을 알고있는 경우 필터를 필요가없는
1
$('#C').closest('.B').filter(function() { 
    return $(this).closest('#A').length; 
}); 

.closest()

$('#C').closest('.B') // would get the closest parent(.B) of a child(#C) 
필요
관련 문제