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 相关文章推荐
js几个不错的函数 $$()
Oct 09 Javascript
jQuery中RadioButtonList的功能及用法实例介绍
Aug 23 Javascript
jqGrid日期格式的判断示例代码(开始日期与结束日期)
Nov 08 Javascript
AngularJS表单编辑提交功能实例
Feb 13 Javascript
jquery限定文本框只能输入数字(整数和小数)
Jan 08 Javascript
无需 Flash 使用 jQuery 复制文字到剪贴板
Apr 26 Javascript
Bootstrap表单组件教程详解
Apr 26 Javascript
深入浅析search 搜索框的写法
Aug 02 Javascript
jquery表单验证实例仿Toast提示效果
Mar 03 Javascript
什么时候不能在 Node.js 中使用 Lock Files
Jun 24 Javascript
用JavaScript实现贪吃蛇游戏
Oct 23 Javascript
Vue 401配合Vuex防止多次弹框的案例
Nov 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
腾讯QQ php程序员面试题目整理
2010/06/08 PHP
PHP 文件系统详解
2012/09/13 PHP
解析coreseek for sphinx的使用
2013/06/21 PHP
php获得客户端浏览器名称及版本的方法(基于ECShop函数)
2015/12/23 PHP
Laravel5中防止XSS跨站攻击的方法
2016/10/10 PHP
PHP中抽象类,接口功能、定义方法示例
2019/02/26 PHP
laravel实现一个上传图片的接口,并建立软链接,访问图片的方法
2019/10/12 PHP
jquery 删除cookie失效的解决方法
2013/11/12 Javascript
javascript圆盘抽奖程序实现原理和完整代码例子
2014/06/03 Javascript
JavaScript中变量声明有var和没var的区别示例介绍
2014/09/15 Javascript
JavaScript 字符串常用操作小结(非常实用)
2016/11/30 Javascript
BootStrap Validator 版本差异问题导致的submitHandler失效问题的解决方法
2016/12/01 Javascript
安装vue-cli报错 -4058 的解决方法
2017/10/19 Javascript
node puppeteer(headless chrome)实现网站登录
2018/05/09 Javascript
微信小程序分享功能之按钮button 边框隐藏和点击隐藏
2018/06/14 Javascript
前后端如何实现登录token拦截校验详解
2018/09/03 Javascript
vue中使用mxgraph的方法实例代码详解
2019/05/17 Javascript
vue和H5 draggable实现拖拽并替换效果
2020/07/29 Javascript
vue实现可移动的悬浮按钮
2021/03/04 Vue.js
[02:38]2018DOTA2亚洲邀请赛赛前采访-VGJ.T
2018/04/03 DOTA
python安装Scrapy图文教程
2017/08/14 Python
python 通过 socket 发送文件的实例代码
2018/08/14 Python
Python API 自动化实战详解(纯代码)
2019/06/11 Python
numpy.transpose()实现数组的转置例子
2019/12/02 Python
使用python-opencv读取视频,计算视频总帧数及FPS的实现
2019/12/10 Python
Pytorch 的损失函数Loss function使用详解
2020/01/02 Python
Python基于Hypothesis测试库生成测试数据
2020/04/29 Python
python 字符串的驻留机制及优缺点
2020/06/19 Python
浅析css3中matrix函数的使用
2016/06/06 HTML / CSS
高清安全摄像头系统:Lorex Technology
2018/07/20 全球购物
阿玛尼意大利官网:Armani意大利
2018/10/30 全球购物
英国奢侈品在线精品店:Hervia
2020/09/03 全球购物
文员个人的求职信范文
2013/09/26 职场文书
国庆节促销广告语2014
2014/09/19 职场文书
高考百日冲刺决心书
2015/09/23 职场文书
一文搞清楚MySQL count(*)、count(1)、count(col)区别
2022/03/03 MySQL