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 formValidator插件ajax验证 内容不做任何修改再离开提示错误的bug解决方法
Jan 04 Javascript
js使用心得分享
Jan 13 Javascript
js实现屏幕自适应局部代码分享
Jan 30 Javascript
JS图片等比例缩放方法完整示例
Aug 03 Javascript
Angular2使用Angular CLI快速搭建工程(一)
May 21 Javascript
深入讲解xhr(XMLHttpRequest)/jsonp请求之abort
Jul 26 Javascript
JavaScript实现三级联动菜单效果
Aug 16 Javascript
JavaScript多线程运行库Nexus.js详解
Dec 22 Javascript
每个 JavaScript 工程师都应懂的33个概念
Oct 22 Javascript
Vue实现移动端页面切换效果【推荐】
Nov 13 Javascript
Javascript实现秒表倒计时功能
Nov 17 Javascript
处理canvas绘制图片模糊问题
May 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
收音机另类DIY - 纸巾盒做外壳
2021/03/02 无线电
Windows2003 下 MySQL 数据库每天自动备份
2006/12/21 PHP
一些php技巧与注意事项分析
2011/02/03 PHP
php入门学习知识点四 PHP正则表达式基本应用
2011/07/14 PHP
PHP反射类ReflectionClass和ReflectionObject的使用方法
2013/11/13 PHP
php多线程实现方法及用法实例详解
2015/10/26 PHP
学习php设计模式 php实现工厂模式(factory)
2015/12/07 PHP
js过滤数组重复元素的方法
2010/09/05 Javascript
javascript中数组的冒泡排序使用示例
2013/12/18 Javascript
Javascript中的回调函数和匿名函数的回调示例介绍
2014/05/12 Javascript
jquery让指定的元素闪烁显示的方法
2015/03/17 Javascript
简单谈谈vue的过渡动画(推荐)
2017/10/11 Javascript
Angular 开发学习之Angular CLI的安装使用
2017/12/31 Javascript
vue-cli webpack模板项目搭建及打包时路径问题的解决方法
2018/02/26 Javascript
在webstorm开发微信小程序之使用阿里自定义字体图标的方法
2018/11/15 Javascript
微信小程序实现搜索指定景点周边美食、酒店
2019/05/18 Javascript
一些可能会用到的Node.js面试题
2019/06/15 Javascript
搭建一个nodejs脚手架的方法步骤
2019/06/28 NodeJs
design vue 表格开启列排序的操作
2020/10/28 Javascript
基于Python如何使用AIML搭建聊天机器人
2016/01/27 Python
Python+MongoDB自增键值的简单实现
2016/11/04 Python
Python实现字符串逆序输出功能示例
2017/06/24 Python
Python采集代理ip并判断是否可用和定时更新的方法
2018/05/07 Python
使用python将请求的requests headers参数格式化方法
2019/01/02 Python
python机器学习库scikit-learn:SVR的基本应用
2019/06/26 Python
python如何实现不可变字典inmutabledict
2020/01/08 Python
pycharm如何实现跨目录调用文件
2020/02/28 Python
python RSA加密的示例
2020/12/09 Python
澳大利亚领先的宠物用品商店:VetSupply
2017/09/08 全球购物
《开国大典》教学反思
2014/04/19 职场文书
2014年督导工作总结
2014/11/19 职场文书
清明祭英烈活动总结
2015/05/11 职场文书
行为规范主题班会
2015/08/13 职场文书
java如何实现socket连接方法封装
2021/09/25 Java/Android
python程序的组织结构详解
2021/12/06 Python
Ruby GDBM操作简介及数据存储原理
2022/04/19 Ruby