想象你必須做很多DOM操作(在我的情況下,它是一種動態列表)。jQuery的性能
請看下面的例子:
var $buffer = $('<ul/>', {
'class': '.custom-example',
'css': {
'position': 'absolute',
'top': '500px'
}
});
$.each(pages[pindex], function(i, v){
$buffer.append(v);
});
$buffer.insertAfter($root);
「頁」 是保持LI元素作爲jQuery對象陣列。
「$根」是一個UL元素
此代碼後是會發生什麼事,無論UL的是動畫(滾動),最後,執行該代碼的動畫的回調中:
$root.detach();
$root = $buffer;
$root.css('top', '0px');
$buffer = null;
這工作得很好,我唯一能做的就是表演。我會緩存 我正在放置的所有DOM元素。 沒有深入研究jQuery的源代碼,我的性能問題是否存在?
jQuery使用DocumentFragments來附加事物嗎?
如果創建
var new = $('<div/>')
一個新的DOM元素,只在該點存儲在內存中 是不是?
好,它確實這樣做更快。不幸的是,我不能這樣做,因爲pages [pindex]包含帶有.data和事件處理程序的jQuery對象。但無論如何+1。 – jAndy 2010-04-19 11:49:15