javascript将DOM节点添加到文档的方法实例分析

这里对两种方法进行了比较:第一种:先创建所有节点,再添加到文档方式的运行时长;第二种:先向文档添加一个空容器,然后每创建一个节点,再添加到容器中方式的运行时长,从测试来看,第二种方法优于第一种!

运行效果如下图所示:

javascript将DOM节点添加到文档的方法实例分析

具体代码如下:

<html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>将DOM节点添加到文档实例</title> </head> <script type="text/javascript"> //第一种:先创建所有节点,再添加到文档 function createAdd(count) { var start=new Date(); var container=document.createElement("div"); var obj=document.getElementById("main"); for(var i=0;i<count;i++) { var node=document.createElement("div"); node.style.position="absolute"; node.style.left=(6+parseInt(Math.random()*100))+"px"; node.style.top=(6+parseInt(Math.random()*100))+"px"; container.appendChild(node); } obj.appendChild(container); var end=new Date(); var duration=end-start; alert("第一种方式:"+duration+"ms"); } //第二种:先添加到文档一个空容器,再创建所有接点,并分别添加到容器中 function addCreate(count) { var start=new Date(); var container=document.createElement("div"); var obj=document.getElementById("main"); obj.appendChild(container); for(var i=0;i<count;i++) { var node=document.createElement("div"); node.style.position="absolute"; node.style.left=(6+parseInt(Math.random()*100))+"px"; node.style.top=(6+parseInt(Math.random()*100))+"px"; container.appendChild(node); } var end=new Date(); var duration=end-start; alert("第二种方式:"+duration+"ms"); } //检测输入的数据是否正确 function checkData() { var number=parseInt(document.getElementById("count").value); return number; } //调用createAdd()函数 function callCreateAdd() { var count=checkData(); createAdd(count); } //调用addCreate()函数 function callAddCreate() { var count=checkData(); addCreate(count); } </script> <body> <h3>将DOM节点添加到文档实例</h3> <hr /> 请输入一个整数: <input type="text" /> <br /> <input type="button" value="第一种:先创建所有节点,再添加到文档方式的运行时长" /> <input type="button" value="第二种:先向文档添加一个空容器,然后每创建一个节点,再添加到容器中方式的运行时长" /> <br /> <div></div> </body> </html>

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wgdyjj.html