2015-08-29 40 views
8

在jQuery是有

$('.className > button') 

$('.className').children('button') 

或者是這些只是替代語法來得到同樣的事情之間有什麼區別?

+0

第一個使用css選擇器,第二個使用jQuery功能。 – RRK

+2

這很明顯...... – BoltClock

回答

10

不是以實際結果爲準,但第一個可以完全卸載到瀏覽器的內置CSS選擇引擎,而第二個需要jQuery做更多的工作,並涉及更多對象創建和清理。這是不太可能的,除非你在處理器中使用很多元素,例如mousemove處理程序,儘管如此,如果即使...

+0

是jquery真的利用瀏覽器的CSS引擎嗎?我一直認爲CSS選擇器是由JS庫解析的 –

+1

@fschmengler:如果瀏覽器提供了'querySelectorAll',並且你沒有使用像':eq'或':disabled'這樣的jQuery專用選擇器,那麼是的,jQuery使用內置引擎,而不是自己的引擎,因爲它顯着*更快。如果瀏覽器沒有'querySelectorAll'(不太可能,甚至IE8都有)或者如果你使用jQuery特定的選擇器,那麼jQuery只會退回到Sizzle。 –

+0

嘶嘶聲,就是這樣。我希望我的信息只是過時了,謝謝更新! –

相關問題