我對選擇器性能有一些疑問。jQuery選擇器性能
這是我的標記(簡化)。子div將有兩種可能的類別之一(「未選擇播放列表」或「播放列表選擇」)。
<div class="wrapper">
<div class="playlist-non-selected"></div>
<div class="playlist-selected"></div>
<div class="playlist-non-selected"></div>
<div class="playlist-non-selected"></div>
</div>
1. 如果我要選擇包裝DIV的所有直接孩子,他們每個人我會用這個執行的操作?
wrapper.find('div.playlist-non-selected, div.playlist-selected').each(function(){
});
2. 如果我想選擇特定項目,我會用這個嗎?
wrapper.children('div.playlist-non-selected, div.playlist-selected').eq(2);
或:
wrapper.find('div.playlist-non-selected, div.playlist-selected').eq(2);
或:
wrapper.children('div').eq(2);
這些選擇工作,但我不知道他們是如何有效?
我讀到這個時候的問題是使用頻率。關於效率,如果你要對孩子進行大量操作,緩存wrapper.children()然後filter()以獲得你想要處理的內容並繞過dom查找可能是非常人性化的。 – Taplar
如果您想比較不同選擇器的性能,請使用jsperf.com進行測試。沒有基準測試就很難預測性能。 – Barmar