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 相关文章推荐
JavaScript中判断函数是new还是()调用的区别说明
Apr 07 Javascript
解决jquery异步按一定的时间间隔刷新问题
Dec 10 Javascript
javascript获得网页窗口实际大小的示例代码
Sep 21 Javascript
用JavaScript实现页面重定向功能的教程
Jun 04 Javascript
javascript简单实现滑动菜单效果的方法
Jul 27 Javascript
跟我学习javascript的var预解析与函数声明提升
Nov 16 Javascript
BootStrap的JS插件之轮播效果案例详解
May 16 Javascript
jquery配合.NET实现点击指定绑定数据并且能够一键下载
Oct 28 Javascript
巧用Javascript的逻辑运算符
Dec 02 Javascript
JAVA中截取字符串substring用法详解
Apr 14 Javascript
vue使用swiper实现中间大两边小的轮播图效果
Nov 24 Javascript
微信小程序基于ColorUI构建皮皮虾短视频去水印组件
Nov 04 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数组函数序列 之shuffle()和array_rand() 随机函数使用介绍
2011/10/29 PHP
php中的strpos使用示例
2014/02/27 PHP
php三种实现多线程类似的方法
2015/10/30 PHP
PHP7基于curl实现的上传图片功能
2018/05/11 PHP
js判断两个日期是否相等的方法
2013/09/10 Javascript
jquery ajax跨域解决方法(json方式)
2014/02/04 Javascript
jQuery setTimeout传递字符串参数报错的解决方法
2014/06/09 Javascript
JavaScript仿flash遮罩动画效果
2016/06/15 Javascript
浅谈Javascript中的12种DOM节点类型
2016/08/19 Javascript
vue.js中mint-ui框架的使用方法
2017/05/12 Javascript
使用vue构建移动应用实战代码
2017/08/02 Javascript
浅谈es6 javascript的map数据结构
2017/12/14 Javascript
JS实现的抛物线运动效果示例
2018/01/30 Javascript
vue--点击当前增加class,其他删除class的方法
2018/09/15 Javascript
30分钟快速实现小程序语音识别功能
2018/11/27 Javascript
ES6 对象的新功能与解构赋值介绍
2019/02/05 Javascript
Layui 导航默认展开和菜单栏选中高亮设置的方法
2019/09/04 Javascript
详解Vue.js 作用域、slot用法(单个slot、具名slot)
2019/10/15 Javascript
js函数柯里化的方法和作用实例分析
2020/04/11 Javascript
JavaScript实现移动小精灵的案例代码
2020/12/12 Javascript
centos 下面安装python2.7 +pip +mysqld
2014/11/18 Python
python统计字符串中指定字符出现次数的方法
2015/04/04 Python
python中map、any、all函数用法分析
2015/04/21 Python
python简单的函数定义和用法实例
2015/05/07 Python
Python txt文件加入字典并查询的方法
2019/01/15 Python
详解Python_shutil模块
2019/03/15 Python
python matplotlib饼状图参数及用法解析
2019/11/04 Python
Python GUI库PyQt5样式QSS子控件介绍
2020/02/25 Python
Pytorch 卷积中的 Input Shape用法
2020/06/29 Python
使用Pytorch搭建模型的步骤
2020/11/16 Python
python之openpyxl模块的安装和基本用法(excel管理)
2021/02/03 Python
Cotton On美国网站:澳洲时装连锁品牌
2016/10/25 全球购物
百度软件工程师职位
2013/02/14 面试题
工厂仓管员岗位职责
2014/01/01 职场文书
计算机学生求职信范文
2014/01/30 职场文书
2015年社区党务工作总结
2015/04/21 职场文书