我想知道以下哪個jQuery查詢會更快。我正在尋找匹配任何具有src屬性或data-src屬性的span標籤。一個標記名,多個attrs - 用過濾器干擾查詢或使用多個選擇器更快?
var a = $('span[src],span[data-src]');
var b = $('span').filter('[src],[data-src]');
我的直覺是(b),但可能有我不知道的優化。
謝謝。
UPDATE:
基於快速測試以100×span[src]
,100×span[data-src]
,和100×span
要素:(a)出來周圍4 - 快8倍取決於瀏覽器。在IE8上,速度要快很多(約50倍),IE6/7也差不多。
我想知道爲什麼它更快?
萬一(a)jquery委託整個選擇器查詢可用的本地querySelectorAll
。所以在現代瀏覽器中,看起來像是一個較慢的查詢實際上非常快。
你可以做一些剖析,找出;) –
沒錯,但它的價值首先要求:) – johnhunter
100次迭代不值得剖析。試着用5000個試一試,看看更快。 – DoXicK