我可以想象基於理論的正確答案,但我只是在尋找一些確認。我想知道重用jQuery選擇元素的最有效方法是什麼。例如:重用jQuery選定元素的最有效方法
$('#my_div').css('background','red');
//some other code
$('#my_div').attr('name','Red Div');
與
myDiv = $('#my_div');
myDiv.css('background','red');
//some other code
myDiv.attr('name','Red Div');
我認爲第二個例子是更有效,因爲沒有#my_div元素得到發現不止一次。那是對的嗎?
同樣,首先將$(this)保存在變量中,比如'obj',然後重複使用'obj'而不是使用$(this)反覆更有效?在這種情況下,jQuery並沒有被迫一遍又一遍地查找元素,但是它被迫將它轉換爲一個jQuery對象[$(this)]。所以作爲一般的經驗法則,如果一個jQuery對象總是被多次使用,它應該存儲在一個變量中嗎?
是。不要忘了使用'var'。 – kapa 2011-03-28 16:07:31
我也喜歡用$符號來啓動變量名,以表明它是一個jQuery對象。因此,而不是myDiv,我會使用$ myDiv。 – 2011-03-28 16:09:15
可能的重複:http://stackoverflow.com/questions/4654558/is-referencing-a-selector-faster-in-jquery-than-actually-calling-the-selector-if/4654564#4654564 – amosrivera 2011-03-28 16:22:46