2010-08-20 38 views
2

以下哪項理論上在性能和/或內存方面會更好?換句話說,jQuery是否必須多次選擇同一個項目,或者知道它過去選擇了哪些項目?使用jQuery多次選擇相同的項目vs使用變量

我故意留下沒有參數的動畫,這是一個純粹的理論問題。

$("#someelement").animate(); 
$("#someelement").animate(); 
$("#someelement").animate(); 
$("#someelement").animate(); 
$("#someelement").animate(); 
$("#someelement").animate(); 
$("#someelement").animate(); 
$("#someelement").animate(); 
$("#someelement").animate(); 
$("#someelement").animate(); 

var element = $("#someelement"); 
element.animate(); 
element.animate(); 
element.animate(); 
element.animate(); 
element.animate(); 
element.animate(); 
element.animate(); 
element.animate(); 
element.animate(); 
element.animate(); 

回答

4

絕對選項2.對於選項1每動畫之前的jQuery必須找到在第DOM元素。

使用選項2,元素被「緩存」在變量中,並且不需要再次遍歷DOM。