2013-03-13 35 views
3

我正在閱讀jQuery API,關於甚至選擇器,jQuery建議我們選擇使用純CSS選擇器的元素列表,然後使用filter(":even")以獲得更好的性能。但我認爲jQuery也爲他們的:even選擇器進行了優化。當我使用任何選擇器時,它在同一時間給了我相同的結果。只有當我們有超過100萬的元素時,它纔會有所不同嗎? 有人可以請解釋:even選擇器是如何工作的,爲什麼使用filter(":even")更好?在jQuery中使用even或filter(「:even」)

感謝, 苴VO

+1

http://jsperf.com/ Try:http://jsperf.com/filter-even – 2013-03-13 03:13:37

回答

0

你可以找到性能測試here。正如你在結果中看到的,過濾器('偶數')雖然速度更快,但只有在大數據中才會顯着。

+0

我的回答有什麼問題?爲什麼-1呢? – 2013-03-13 03:18:20

+0

我也會添加爲什麼。 – Blender 2013-03-13 03:19:22

6

爲什麼不測試它? http://jsperf.com/even-selector

如果你正在尋找快速的東西,使用:nth-child(even),因爲它是一個本地選擇器,可以輸入document.querySelectorAll:even是一個特定於jQuery的僞選擇器,並強制jQuery使用JavaScript來遍歷DOM,這幾乎總是比document.querySelector慢。

+0

:nth-​​child(偶數)很棒,但IE8的低版本像IE8一樣好,因爲我知道IE8不支持n-child? – 2013-03-13 03:30:35

+0

@Tuong:我沒有IE8來測試它,但我認爲它仍然有效。 – Blender 2013-03-13 03:32:13

+0

我會認爲這組中的最後一個會做得更好:http://jsperf.com/filter-even – 2013-03-13 03:33:21

相關問題