2009-08-02 4 views

답변

27

경우 : 예를 들면

<ul> 
    <li>Item 1</li> 
    <li>Item 2 
    <ul> 
     <li>Item 2.1</li> 
     <li>Item 2.2</li> 
    </ul> 
    </li> 
    <li>Item 3</li> 
</ul> 

$("ul > li").addClass("blah"); 

는 반면 1 2 3 클래스 'ㅋ'이 추가

$("ul li").addClass("blah"); 

추가 클래스 "ㅋ"리스트의 모든 요소 .

<과 (과) 무슨 관련이 있는지 잘 모르겠습니다. 연산자.

+3

ul> li는 모두 "blah"로 설정되어 있습니까? 왜냐하면 당신은 ul에 아이를 가지고있는 하위 목록을 가지고 있기 때문입니다. –

+3

>은 손주가 아닌 직계 자녀를 의미합니다. –

+3

ul> li 또한 중첩리스트와 일치합니다. –

10

CSS에서 >은 "직접 자식"을 의미합니다. 직접 자식 노드 만 선택됩니다.

"공백"은 "모든 자손"을 의미하지만 직접 자녀 및 그 자녀의 자녀를 선택할 수 있습니다.

jQuery는 동일한 규칙을 사용합니다.

2

이미 언급했듯이 공간은 임의의 자손을 선택하지만 >은 직접 자식 만 선택합니다.

#foo > * > * > .bar 

(ID가 "foo는"인 요소의 큰 손자입니다 클래스 "바"모든 요소)

2

: 당신은 손자 나 증손자을 선택합니다, 당신은이를 사용할 수 있습니다 이것 좀 봐 ...

$(".testit > a") //match the first <a> tag below 
$(".testit a") // matches all <a> tag below 

<p class="testit"> 
    <a href="#">All the rules will match this</a> 
    <span> 
    <a href="#">second rule can only select this</a> 
    </span> 
</p>