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


Posted in Javascript onAugust 04, 2015

本文实例讲述了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 style="border:1px solid #000000;" />
请输入一个整数:
<input type="text" id="count" name="count" />
<br />
<input type="button" id="createadd" name="createadd" value="第一种:先创建所有节点,再添加到文档方式的运行时长" onClick="callCreateAdd();" />
<input type="button" id="one" name="one" value="第二种:先向文档添加一个空容器,然后每创建一个节点,再添加到容器中方式的运行时长" onClick="callAddCreate();" />
<br />
<div id="main" style="position:absolute;"></div>
</body>
</html>

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
[原创]图片分页查看
Aug 28 Javascript
超级兔子让浮动层消失的前因后果
Mar 09 Javascript
js 强制弹出窗口代码研究-又一款代码
Mar 20 Javascript
常见的jQuery选择器汇总
Nov 24 Javascript
使用JavaScript为Kindeditor自定义按钮增加Audio标签
Mar 18 Javascript
JavaScript实现经典排序算法之冒泡排序
Dec 28 Javascript
javascript 跨域问题以及解决办法
Jul 17 Javascript
使用async、enterproxy控制并发数量的方法详解
Jan 02 Javascript
Js面试算法详解
Apr 08 Javascript
手写简单的jQuery雪花飘落效果实例
Apr 22 jQuery
Vue的data、computed、watch源码浅谈
Apr 04 Javascript
详解ES6数组方法find()、findIndex()的总结
May 12 Javascript
JavaScript实现添加及删除事件的方法小结
Aug 04 #Javascript
JS实现转动随机数抽奖特效代码
Apr 16 #Javascript
JavaScript实现跨浏览器的添加及删除事件绑定函数实例
Aug 04 #Javascript
jquery控制显示服务器生成的图片流
Aug 04 #Javascript
JavaScript实现LI列表数据绑定的方法
Aug 04 #Javascript
用js编写的简单的计算器代码程序
Aug 04 #Javascript
javascript记住用户名和登录密码(两种方式)
Aug 04 #Javascript
You might like
php检测useragent版本示例
2014/03/24 PHP
Zend Framework 2.0事件管理器(The EventManager)入门教程
2014/08/11 PHP
Ubuntu中搭建Nginx、PHP环境最简单的方法
2015/03/05 PHP
PHP实现的通过参数生成MYSQL语句类完整实例
2016/04/11 PHP
laravel实现分页样式替换示例代码(增加首、尾页)
2017/09/22 PHP
PHP实现的62进制转10进制,10进制转62进制函数示例
2019/06/06 PHP
仿迅雷焦点广告效果(JQuery版)
2008/11/19 Javascript
jquery中加载图片自适应大小主要实现代码
2013/08/23 Javascript
javascript实现的DES加密示例
2013/10/30 Javascript
jquery submit ie6下失效的原因分析及解决方法
2013/11/15 Javascript
JSON字符串和对象之间的转换详解
2015/05/26 Javascript
两行代码轻松搞定JavaScript日期验证
2016/08/03 Javascript
Node.js操作redis实现添加查询功能
2017/05/25 Javascript
基于ES6 Array.of的用法(实例讲解)
2017/09/05 Javascript
JS实现区分中英文并统计字符个数的方法示例
2018/06/09 Javascript
echarts实现地图定时切换散点与多图表级联联动详解
2018/08/07 Javascript
微信小程序如何获取用户收货地址
2018/11/27 Javascript
JS遍历JSON数组及获取JSON数组长度操作示例【测试可用】
2018/12/12 Javascript
js实现AI五子棋人机大战
2020/05/28 Javascript
JavaScript常用8种数组去重代码实例
2020/09/09 Javascript
[03:37]2015国际邀请赛第四日现场精彩集锦
2015/08/08 DOTA
[01:04:09]DOTA2-DPC中国联赛 正赛 iG vs VG BO3 第二场 2月2日
2021/03/11 DOTA
利用Python命令行传递实例化对象的方法
2016/11/02 Python
selenium+python实现自动登录脚本
2018/04/22 Python
Python读取txt某几列绘图的方法
2018/10/14 Python
pandas 将索引值相加的方法
2018/11/15 Python
python实现大文本文件分割
2019/07/22 Python
详解python 中in 的 用法
2019/12/12 Python
Python文件操作函数用法实例详解
2019/12/24 Python
深入了解NumPy 高级索引
2020/07/24 Python
公务员总结性个人自我评价
2013/12/05 职场文书
企业节能减排实施方案
2014/03/19 职场文书
开会通知
2015/04/20 职场文书
Python 中random 库的详细使用
2021/06/03 Python
Oracle创建只读账号的详细步骤
2021/06/07 Oracle
Docker安装MySql8并远程访问的实现
2022/07/07 Servers