2011-02-07 7 views
1

유효한 선택기입니까? 그렇지 않다면 올바른 방법은 무엇입니까?

$($(this)+' childElement').... 
+1

'$ (this)'이 반환하는 것을 생각해 봅시다. 문자열이 없습니다, 맞습니까? – delnan

+0

질문을 이해할 수 없습니다. 'this'의 하위 항목을 직접 선택 하시겠습니까? 아니면 'this'라는 하위 항목에 하위 항목을 추가하여 하위 항목을 동적으로 선택 하시겠습니까? –

답변

4

사용

$(this).find("childrenSelector") 
+0

나는 저스틴의 대답이 이것보다 낫다. 왜냐하면 나는 그의 방법이 더 나은 성능을 가지고 있다는 것을 기억하고 있다고 생각했기 때문이다. 나는 틀릴 수 있었다. –

+0

이 테스트에 따르면 컨텍스트를 사용하면 유사한 성능을 제공하기는하지만 찾기보다 약간 빠름 * http://jsperf.com/jquery-selector-performance-with-find –

+0

감사합니다 Justin. 너에게 +1을 주었다. – Aliostad

4
$(this).find('childrenSelector'); 
+0

@Ben - 왜 이것이 받아 들여지지 않은 대답입니까? 당신이 받아 들인 것과 같지만, 먼저 대답했습니다. –

+0

어쨌든 한 줄에 3 개의 표를 얻으 려합니다.^ – Matt

7

이것은 당신이 찾고있는 무엇을 할 수

$('childElement', $(this)) 

기본적으로는 현재 요소, this의 컨텍스트 내에서 childElement를 검색합니다.


은 자세한 내용은 jQuery() 기능에 대한 설명서를 참조하십시오. 특히, 다음의 발췌는 두 번째 인수를 설명하고이 find을 사용하는 것과 방법 : 기본적으로

이 선택기는 문서 루트에서 시작하여 DOM 내에서 검색을 수행합니다. 그러나 $() 함수에 선택적 두 번째 매개 변수를 사용하여 대체 컨텍스트를 검색 할 수 있습니다. 우리는이 맥락에 스팬 선택을 제한 한 이후에만 클릭 된 내 걸쳐,

$('div.foo').click(function() { 
    $('span', this).addClass('bar'); 
}); 

: 콜백 함수 내에서 우리가 요소에 대한 검색을 수행하고자하는 경우 예를 들어, 우리는 검색을 제한 할 수 있습니다 요소는 추가 클래스를 가져옵니다.

내부적으로 선택기 컨텍스트는 .find() 메서드로 구현되므로 $('span', this)$(this).find('span')과 같습니다.

+0

jQuery 문서에서이 위치를 볼 수 있습니까? 전에 그런 건 본 적이 없습니까? 나는 그것이 어떻게 작동하는지 읽고 싶다. – Ben

+0

문제 없으므로이 대답의 편집 내역을 참조하십시오 ... –

+0

+1. 더 빠르다. – Aliostad

0

또는 ...

$ (이) .children ('요소입니다.');

+0

나는 단지 한 단계 깊숙이 갔기 때문에 이걸 사용해서 넘어 졌어. – Matt