2010-03-30 5 views
1

이 jQuery 선택기는 어떤 작업을 수행 할 사람이 있습니까? (1) EQ 객체에 2 TD 요소를 얻을 것이다,하지만 선택의 끝 부분에 언급 된 2 DIV 년대는 무엇을 할 것인가 :find 메서드에서 사용 된 이상한 jQuery 선택자

object.find('td:eq(1) div div'); 

은 내가 TD는 것을 알고있다?

답변

1

이 첫 번째 부분 (즉, 당신이 :nth-child을 원하는)하지 당 행, 전체 개체에 2 <td>를 찾습니다. div div 부분은 divs 2 레벨을 셀렉터 내부 깊숙한 곳에서 찾습니다. 여기

는 2 DIV 년대는 선택의 끝이 할 에서 참조 무슨 object.find('td:eq(1) div div');

<tr> 
<td><td> 
<td> 
    <div> 
    <span> <!-- Or any wrappers, etc --> 
     <div>Found me!</div> 
    </span> 
    </div> 
</td> 
</tr> 
10

행에서 두 번째 테이블 셀을 찾습니다 (나는 0- 기반으로 생각합니다). 그런 다음 해당 셀 안의 div 안에 div가 있습니다. 그래서 같은

:

<tr> 
    <td> 
    Not me 
    </td> 
    <td> 
    <div class='parent'> 
     <div class='child'> 
     This stuff here! 
     </div> 
    </div> 
    </td> 
+1

일을, 그것은 0을 기준으로. –

+0

'div'는 부모'div'의 바로 아래에있을 필요는 없으며 다른 div의 부모와 두 번째 테이블 셀을 가진 모든 div가 일치한다는 것을 잊지 마십시오. http://api.jquery.com/descendant-selector/와 http://api.jquery.com/child-selector/의 차이는 처음에 나를 던졌습니다. – Mark

+0

예, 사실입니다. 나는 아직 커피를 마시지 않았으므로 기꺼이 타이핑하는 것이 너무 많았다. :-) – Pointy

0

의 일치하는 예입니다?

div의 div를 찾으십시오. (CSS 선택기와 동일)

2

비표준 jQuery 선택기는 일반적으로 피해야합니다.

만 표준 CSS 선택기를 사용하는 경우, jQuery를 셀렉터가 빠른 내장 된 최신 브라우저의 querySelectorAll 기능 해제 작업을 전달할 수 있습니다,하지만 당신은 :eq를 사용하는 경우가 상대적으로 느린 네이티브 자바 스크립트 지글 지글 선택 라이브러리를 통해 가야 .

그래서 당신이 그것을 철자를 선호 있습니다

object.find('td').eq(1).find('div div');