2011-12-14 7 views
1

n 번째 부모 (즉, elem.parent(). parent() ... parent())에 특정 클래스가있는 모든 요소를 ​​가져와야합니다. 그게 가능하니? 예를 들어jQuery의 부모 선택자

:

<div class="success"> 
    <div id="depth-1"> 
    <div id="depth-2"> 
     <div>Return me</div> 
     <div>Return me</div> 
    </div> 
</div> 
</div> 

3의 부모 깊이와 클래스 "성공"과 명령 "Return me" 된 div를 반환합니다. 다음과 같이

답변

1

내가 N-깊이에 대해 잘 모르겠지만,이 뜻이 증조부모 (n = 3)가 클래스 success을 가진 모든 div를 얻으십시오.

$('.success > * > * > div') 

선택기를 생성하는 함수를 작성할 수 있습니다. 같은 뭔가 : 나는 파이썬에서 온 이후

function getNDeepSelector(n, className) { 
    var selector = '.' + className, ii; 
    for (ii = 0; ii < n; ii += 1) { 
     selector += ' > *' 
    } 
    return selector; 
} 
+0

덕분에 멋진 해결책은 $ 것 ("(.join ["> * "] * N)에 상응하는 뭔가 +"거기에 성공. '. jQuery? – Joel

+1

String은 전역 JavaScript 객체이므로 jQuery 특정 함수가 아닙니다. 내가 아는 한, 당신이 말하는 것과 같은 구조는 없습니다. – FishBasketGordo

2

당신은 아이 선택기를 사용할 수 있습니다

var returnMe = $(".success > * > * > *"); 

비록 특정 예제에서 나는 아마 할 것 :

var returnMe = $(".success div div div");