我在DOM中有這個元素:<div id="main" class="main"></div>
。用$('#main')和$('。main:first')選擇元素有沒有區別?jQuery選擇器差異
編輯: 忘了提及這是假設這個元素是類名爲「main」的唯一元素。
我在DOM中有這個元素:<div id="main" class="main"></div>
。用$('#main')和$('。main:first')選擇元素有沒有區別?jQuery選擇器差異
編輯: 忘了提及這是假設這個元素是類名爲「main」的唯一元素。
編輯:忘了提及這是假設這個元素是類名「main」的唯一元素。
沒有任何區別,因爲只有一個.main
和$('#main')
或$('.main')
所以選擇將返回你相同的結果。
在性能方面存在,但您可以忽略它,除非您使用高保真動畫或巨大的DOM操作。
$('#main')
- 更快,更整潔,高效
$('.main:first')
- 類選擇較慢相比ID選擇並:first
濾波器是緩慢的。
- >您不需要:first
,只需$('.main')
將返回您想要的結果。
其他選項 -
$('.main')
- 比ID選擇慢
$('div.main')
- 比ID選擇仍然比較慢不僅僅是$(」主)
是的。如果該元素不是類main
的第一個元素,則不會被選中。
$(「#main」)可能會更快一些,因爲它使用了ID。另外,如果您在原始類之前添加了.main類的另一個元素,那麼它會失敗。
ID選擇器更強大,因爲jQuery遍歷DOM ID應該是唯一的(每個視圖只有1個),而您可以擁有多個主類。
類選擇器非常快。 – BoltClock
@BoltClock是的,但速度不如ID選擇器http://jsperf.com/jquery-class-vs-id-v2 –