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之二(两种扩展)
Jun 11 Javascript
Javascript 学习笔记之 对象篇(二) : 原型对象
Jun 24 Javascript
JavaScript常用验证函数实例汇总
Nov 25 Javascript
JavaScript随机生成信用卡卡号的方法
Apr 07 Javascript
基于javascript实现页面加载loading效果
Sep 15 Javascript
jQuery插入节点和移动节点用法示例(insertAfter、insertBefore方法)
Sep 08 Javascript
微信小程序 form组件详解及简单实例
Jan 10 Javascript
详谈js对url进行编码和解码(三种方式的区别)
Aug 16 Javascript
angularjs实现对表单输入改变的监控(ng-change和watch两种方式)
Aug 29 Javascript
微信小程序 自定义复选框实现代码实例
Sep 04 Javascript
微信小程序中插入激励视频广告并获取收益(实例代码)
Dec 06 Javascript
koa2的中间件功能及应用示例
Mar 05 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程序员面试 切忌急功近利(更需要注重以后的发展)
2010/09/01 PHP
详解PHP+AJAX无刷新分页实现方法
2015/11/03 PHP
深入解析Laravel5.5中的包自动发现Package Auto Discovery
2017/09/13 PHP
win7 wamp 64位 php环境开启curl服务遇到的问题及解决方法
2018/09/16 PHP
laravel model 两表联查示例
2019/10/24 PHP
js获取对象为null的解决方法
2013/11/21 Javascript
用JavaScript实现使用鼠标画线的示例代码
2014/08/19 Javascript
JavaScript前端图片加载管理器imagepool使用详解
2014/12/29 Javascript
使用pjax实现无刷新更改页面url
2015/02/05 Javascript
JS实现双击编辑可修改状态的方法
2015/08/14 Javascript
js图片轮播效果实现代码
2020/04/18 Javascript
jquery.validate使用详解
2016/06/02 Javascript
深入剖析JavaScript面向对象编程
2016/07/12 Javascript
EasyUI中在表单提交之前进行验证
2016/07/19 Javascript
如何使用bootstrap框架 bootstrap入门必看!
2017/04/13 Javascript
JS+HTML5实现上传图片预览效果完整实例【测试可用】
2017/04/20 Javascript
Python中操作符重载用法分析
2016/04/29 Python
Django返回json数据用法示例
2016/09/18 Python
Python之reload流程实例代码解析
2018/01/29 Python
基于Python 装饰器装饰类中的方法实例
2018/04/21 Python
python直接获取API传递回来的参数方法
2018/12/17 Python
python3实现网络爬虫之BeautifulSoup使用详解
2018/12/19 Python
简单了解python单例模式的几种写法
2019/07/01 Python
python 动态调用函数实例解析
2019/10/21 Python
Keras 利用sklearn的ROC-AUC建立评价函数详解
2020/06/15 Python
Python Spyder 调出缩进对齐线的操作
2021/02/26 Python
服装厂厂长职责
2013/12/16 职场文书
作文批改评语大全
2014/04/23 职场文书
药品营销策划方案
2014/06/15 职场文书
公司法定代表人授权委托书
2014/09/29 职场文书
安全员岗位职责
2015/02/10 职场文书
公司2015年终工作总结
2015/05/26 职场文书
教师师德工作总结2015
2015/07/22 职场文书
2016三严三实专题教育活动心得体会
2016/01/06 职场文书
分享一些Java的常用工具
2021/06/11 Java/Android
python模块与C和C++动态库相互调用实现过程示例
2021/11/02 Python