我正在處理一些JQuery代碼,我有一個關於緩存選擇器的問題。我有一個在滾動時調用的特定函數(因此需要快速)。我嘗試了初始化過程中緩存在函數中使用的選擇,像這樣:JQuery緩存選擇器 - 我誤解了嗎?
var myElement = $('#myElement');
function onScroll()
{
myElement.whatever();
}
當我配置文件在Firebug的代碼,我看到了jQuery選擇功能被作爲通常被稱爲整整5倍的onScroll
功能(我在函數中使用了5個不同的選擇器),並負責大部分執行時間。
1)那麼究竟是以這種方式緩存的好處呢?我不是嘲笑:)
2)我明白選擇器需要重新運行的情況下,DOM的變化,但有什麼辦法來緩存單個選定的對象,使該功能不需要每次運行,同時停留在JQuery中?
有沒有新的選擇,每一個用途,什麼是「正在做什麼......」? – gdoron
1次調用'outerHeight',1次調用'outerWidth',1次調用'css'作爲getter,2次調用'css'作爲setter。 – carpat