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 相关文章推荐
Jquery弹出窗口插件 LeanModal的使用方法
Mar 10 Javascript
js实现拉伸拖动iframe的具体代码
Aug 03 Javascript
js中用window.open()打开多个窗口的name问题
Mar 13 Javascript
jQuery验证插件 Validate详解
Nov 20 Javascript
jQuery动态添加及删除表单上传元素的方法(附demo源码下载)
Jan 15 Javascript
Three.js学习之几何形状
Aug 01 Javascript
js 将图片连接转换成base64格式的简单实例
Aug 10 Javascript
老生常谈combobox和combotree模糊查询
Apr 17 Javascript
HTML5实现微信拍摄上传照片功能
Apr 21 Javascript
jQuery Jsonp跨域模拟搜索引擎
Jun 17 jQuery
javascript实现Emrips反质数枚举的示例代码
Dec 06 Javascript
vue 1.0 结合animate.css定义动画效果
Jul 11 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程序实现支持页面后退的两种方法
2008/06/30 PHP
jq的get传参数在utf-8中乱码问题的解决php版
2008/07/23 PHP
PHP 检查扩展库或函数是否可用的代码
2010/04/06 PHP
php实现分页工具类分享
2014/01/09 PHP
php可应用于面包屑导航的迭代寻找家谱树实现方法
2015/02/02 PHP
一个符号插入器 中用到的js代码
2007/09/04 Javascript
利用腾讯的ip地址库做ip物理地址定位
2010/07/24 Javascript
jquery键盘事件介绍
2011/01/31 Javascript
40个有创意的jQuery图片、内容滑动及弹出插件收藏集之一
2011/12/31 Javascript
Jquery AJAX POST与GET之间的区别
2013/11/14 Javascript
一个简单的jquery进度条示例
2014/04/28 Javascript
JavaScript中setMonth()方法的使用详解
2015/06/11 Javascript
JavaScript实现节点的删除与序号重建实例
2015/08/05 Javascript
jQuery UI库中dialog对话框功能使用全解析
2016/04/23 Javascript
js生成随机数(指定范围)的实例代码
2016/07/10 Javascript
微信小程序movable view移动图片和双指缩放实例代码
2017/08/08 Javascript
基于vue打包后字体和图片资源失效问题的解决方法
2018/03/06 Javascript
一种angular的方法级的缓存注解(装饰器)
2018/03/13 Javascript
使用JavaScript和MQTT开发物联网应用示例解析
2020/08/07 Javascript
JS实现点击掉落特效
2021/01/29 Javascript
Python的Flask框架中使用Flask-Migrate扩展迁移数据库的教程
2016/06/14 Python
python获取地震信息 微信实时推送
2019/06/18 Python
Pytest参数化parametrize使用代码实例
2020/02/22 Python
Django中Aggregation聚合的基本使用方法
2020/07/09 Python
浅谈Python爬虫原理与数据抓取
2020/07/21 Python
关于多种方式完美解决Python pip命令下载第三方库的问题
2020/12/21 Python
python time.strptime格式化实例详解
2021/02/03 Python
理肤泉美国官网:La Roche-Posay
2018/01/17 全球购物
尤妮佳moony海外旗舰店:日本殿堂级纸尿裤品牌
2018/02/23 全球购物
美国最大的户外装备和服装购物网站:Backcountry
2019/10/15 全球购物
25道Java面试题集合
2013/05/21 面试题
《少年王冕》教学反思
2014/04/11 职场文书
母亲节演讲稿
2014/05/27 职场文书
2014年行政执法工作总结
2014/12/11 职场文书
初中美术教学反思
2016/02/17 职场文书
【海涛dota解说】一房久违的影魔魂守二连发
2022/04/01 DOTA