我正在審查的代碼,發現
$("#item1 #item2") and $("#item1>#item2")
可以互換使用。有沒有什麼不同,還是一樣的?
我正在審查的代碼,發現
$("#item1 #item2") and $("#item1>#item2")
可以互換使用。有沒有什麼不同,還是一樣的?
兩者將匹配
<div id="item1">
<div id="item2">
</div>
</div>
但是隻有第一個將匹配
<div id="item1">
<div>
<div id="item2">
</div>
</div>
</div>
第一表達式使用descendant selector。第二個表達式中的>
符號是child selector。兩者都是標準的CSS選擇器。
但是,由於id
s 必須是是唯一的,兩者都過於複雜。相反,你應該只使用$('#item2')
同爲CSS選擇
#this #that
指任何#that
那就是#this
一個孩子。
凡爲
#this>#that
意味着只有#that
這是#this
的直系後裔。
>
的符號是指「僅包括屬於該元件的直接子元素」。因此,如果您只想選擇子項爲#item1
的子項,請使用它,否則使用第一個選項。
>
是指直接,直接孩子。
直接
<div id="a">
<div id="b">
</div>
</div>
間接
<div id="a">
<div>
<div id="b">
</div>
</div>
</div>
什麼是HTML看起來就像該代碼?多個'#item1's?如果有,那麼它是無效的。 – Eric 2011-06-08 17:15:38
您可能想了解[CSS選擇器](http://www.w3.org/TR/css3-selectors/#selectors)。在第一個選擇器中有一個後代組合器,在第二個選擇器中有一個子組合器。 – 2011-06-08 17:17:09
@ Eric-這些項目是獨一無二的......我應該剛剛給出了使用類而不是id的例子......無論如何採取了一些措施。 – Raja 2011-06-08 17:23:21