3
我在這裏有點混亂,這是更好的選擇直接使用jQuery的jQuery的查找通過選擇器選擇元素VS法
選擇或方法例如:
$("div p:first") with $("div p").first() -> it's same right
是否有任何我們選擇選擇而不是方法的條件? 例如,因爲選擇器運行速度更快? (例如只不是真理)
我在這裏有點混亂,這是更好的選擇直接使用jQuery的jQuery的查找通過選擇器選擇元素VS法
選擇或方法例如:
$("div p:first") with $("div p").first() -> it's same right
是否有任何我們選擇選擇而不是方法的條件? 例如,因爲選擇器運行速度更快? (例如只不是真理)
他們實際上幾乎相同
$('div p:first')
將返回一旦p
在div
第一元素的元素被發現。
$('div p').first()
將迭代div
中的所有p
元素,然後返回第一個元素。
如果從控制檯檢查,它們有不同的prevObject
屬性。
jQuery將此對象用作當前鏈中最近過濾操作的堆棧,並將匹配元素集返回到其先前狀態。因爲他們需要這個功能end()功能。
從jQuery的
jQuery.fn = jQuery.prototype = {
...
end: function() {
return this.prevObject || this.constructor();
}
};
兩者如果你想談論速度的比較,我建議去的第一個。因爲您不需要遍歷所有p
中的一個div
您可以對它們進行基準測試以查看哪個更快 –
'.first()'更適合':first'僞選擇器。 – Jai
@ArunPJohny你可以嗎?瀏覽器不再那麼愚蠢,那些重複性的測試對於優化而言是微不足道的。 – doug65536