前段时间在论坛上发的JS操作table的时候,有人指出了,在进行大量DOM操作的时候应该使用createDocumentFragment,所以了解了一下这个方法,在浏览器里面测试了一下,效果相差还是非常明显的,有兴趣的可以下载HTML页面文件下去看看!
<html>
<head>
<title>createDocumentFragment的使用</title>
<script type="text/javascript">
function slowAdd() {
for (var i = 0; i < 10000; i++) {
var op = document.createElement("span");
var oText = document.createTextNode(i);
op.appendChild(oText);
document.body.appendChild(op);
}
}
function fastAdd(){
var oFragmeng = document.createDocumentFragment(); //创建文档碎片
for (var i = 0; i < 10000; i++) {
var op = document.createElement("span");
var oText = document.createTextNode(i);
op.appendChild(oText);
oFragmeng.appendChild(op);
}
document.body.appendChild(oFragmeng); //最后一次性添加到document中
}
</script>
</head>
<body >
<p>
<input id="Button1" type="button" value="普通方法" onclick = "slowAdd()"/></p>
<p>
<input id="Button2" type="button" value="createDocumentFragment快速操作" onclick = "fastAdd()"/></p>
</body>
</html>