JavaScript文档碎片操作实例分析
作者:bea
本文实例分析了JavaScript文档碎片操作方法。分享给大家供大家参考,具体如下: 使用文档碎片在某些情况下可以提高页面效率。 javascript操作dom是一个很耗性能的过程,在某些情况下,不得不进行dom循环操作,我们每次对dom的操作都会触发"重排",这严重影响到能耗,一般通常采取的做法是尽可能的减少dom操作来减少"重排"。 面对循环操作dom的过程,我们选择使用文档碎片(creatDocumentFragment),将需要添加到dom中的内容一次性添加到文档碎片
本文实例分析了JavaScript文档碎片操作方法。分享给大家供大家参考,具体如下:
使用文档碎片在某些情况下可以提高页面效率。
javascript操作dom是一个很耗性能的过程,在某些情况下,不得不进行dom循环操作,我们每次对dom的操作都会触发"重排",这严重影响到能耗,一般通常采取的做法是尽可能的减少dom操作来减少"重排"。
面对循环操作dom的过程,我们选择使用文档碎片(creatDocumentFragment),将需要添加到dom中的内容一次性添加到文档碎片中,然后将文档碎片添加到dom树,这样就可以有效的减少操作dom的次数。
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>文档碎片</title>
<meta name="Keywords" content="">
<meta name="author" content="@my_programmer">
</head>
<body>
<script>
var temp = document.createDocumentFragment();//文档碎片(当把文档碎片付给某节点时,只是把文档碎片中的子节点付给了某节点,它本身并没有插入到这个节点中)
for (var i=0; i<100; i++) {
var test =document.createElement('div');//创建一个节点
test.innerHTML = 'aaa' + i;//给节点添加内容
temp.appendChild(test);//把创建的节点插入到temp文档中
}
document.body.appendChild(temp);//把temp文档插入到body末尾
</script>
</body>
</html>
希望本文所述对大家JavaScript程序设计有所帮助。
有用 | 无用
使用文档碎片在某些情况下可以提高页面效率。
javascript操作dom是一个很耗性能的过程,在某些情况下,不得不进行dom循环操作,我们每次对dom的操作都会触发"重排",这严重影响到能耗,一般通常采取的做法是尽可能的减少dom操作来减少"重排"。
面对循环操作dom的过程,我们选择使用文档碎片(creatDocumentFragment),将需要添加到dom中的内容一次性添加到文档碎片中,然后将文档碎片添加到dom树,这样就可以有效的减少操作dom的次数。
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>文档碎片</title>
<meta name="Keywords" content="">
<meta name="author" content="@my_programmer">
</head>
<body>
<script>
var temp = document.createDocumentFragment();//文档碎片(当把文档碎片付给某节点时,只是把文档碎片中的子节点付给了某节点,它本身并没有插入到这个节点中)
for (var i=0; i<100; i++) {
var test =document.createElement('div');//创建一个节点
test.innerHTML = 'aaa' + i;//给节点添加内容
temp.appendChild(test);//把创建的节点插入到temp文档中
}
document.body.appendChild(temp);//把temp文档插入到body末尾
</script>
</body>
</html>
希望本文所述对大家JavaScript程序设计有所帮助。
有用 | 无用
猜你喜欢
您可能感兴趣的文章:
- JavaScript 七大技巧(一)
- JavaScript 七大技巧(二)
- js自定义回调函数
- 由浅入深讲解Javascript继承机制与simple-inheritance源码分析
- 分享Javascript实用方法二
- JavaScript判断按钮被点击的方法
- jquery插件uploadify实现带进度条的文件批量上传
- JavaScript代码判断点击第几个按钮
- JavaScript模块化开发之SeaJS
- node.js require() 源码解读
- JavaScript 模块的循环加载实现方法
- javascript日期验证之输入日期大于等于当前日期
- 详解JavaScript正则表达式之RegExp对象
- 详解JavaScript基于面向对象之继承
- 轻松使用jQuery双向select控件Bootstrap Dual Listbox
- 基于jQuery通过jQuery.form.js插件实现异步上传
- 推荐阅读的js快速判断IE浏览器(兼容IE10与IE11)
- JS如何判断是否为ie浏览器的方法(包括IE10、IE11在内)
- javascript性能优化之DOM交互操作实例分析