DOM优化
使用cloneNode
在外部更新节点然后再通过replace
与原始节点互换。
var orig = document.getElementById('container');
var clone = orig.cloneNode(true);
var list = ['foo', 'bar', 'baz'];
var content;
for (var i = 0; i < list.length; i++) {
content = document.createTextNode(list[i]);
clone.appendChild(content);
}
orig.parentNode.replaceChild(clone, orig);
优化节点添加
多个节点插入操作,即使在外面设置节点的元素和风格再插入,由于多个节点还是会引发多次reflow。
优化的方法是创建
DocumentFragment
,在其中插入节点后再添加到页面。
如JQuery
中所有的添加节点的操作如append
,都是最终调用DocumentFragment
来实现的,