想象你必须做很多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