2012-07-26 62 views
5

可能重複:
What does a > b mean?>在jQuery選擇

H1可以任何一個電話我這是什麼風格的選擇是幹什麼用的?

$("> div", "#main-content") 

是一樣

$("div", "#main-content") 

之前沒有看到過這種風格,只是在我剛剛購買的模板中偶然發現過這種風格。

+0

請閱讀文檔:http://api.jquery.com/child-selector/ – 2012-07-26 12:33:39

+0

>僅適用於直接子女。所以如果你說'div> .myclass'它只會得到div中的.myclass,而不是其他內容。如果.myclass在該div內的跨度內,則不會被選中。希望這是明確的:) – 2012-07-26 12:34:38

+0

明白了。謝謝。 – Chin 2012-07-26 12:36:37

回答

2

上面有一些很好的答案。具體回答你的問題:

jQuery的結構,工作原理: $("tagToSelect", "context") 這也可以表示爲 $("context tagToSelect")

的「>」僅選擇上下文(深一個層次)

內立即標籤

所以 $("> div", "#main-content") 在技術上是一樣的 $("#main-content > div") 並會選擇那些爲#主要內容一個級別的所有div(但沒有更深)

您的其他例子: $("div", "#main-content") 在技術上是一樣的 $("#main-content div") ,將通過內部#主內容的整個DOM結構進行迭代,並找到所有div

希望這有助於:-)

1

>用於直接的孩子。

<ul id="mainUl"> 
    <li> 
     <ul id="secondaryUl"> 
     <li></li> 
     </ul> 
    </li> 
</ul> 

在這裏,無論是<ul>標籤將與$("ul")被抓住了,但只有#mainUl$("> ul")

2

我認爲$("div", "#main-content")都會選擇#main-content元素樹中的div,而$("> div", "#main-content")只選擇直接子元素。詳情請參閱docs

4

基本上>表示只有直接的孩子是匹配的。如果>被省略,那麼以下每個級別的孩子都被匹配。

如果你有這樣的結構:

<div id="A"> 
    <div id="B"> 
    <div id="C"></div> 
    </div> 
</div> 

選擇,如:

#A > #B 

應該返回你B,但

#A > #C 

將不匹配以C而

#A #C 

會。

2

>孩子 - 只選擇直接子元素
只是再次重申:

注:$( 「> ELEM」,上下文)選擇將在未來 版本中將會棄用。因此不鼓勵使用它的替代 選擇器。