JS createDocumentFragment()方法:创建文档片段
2023-06-13 09:12:01 时间
DocumentFragment 是一个虚拟的节点类型,仅存在于内存中,没有添加到文档树中,所以看不到渲染效果。使用文档片段的好处,就是避免浏览器渲染和占用资源。当文档片段设计完善后,再使用 JavaScript 一次性添加到文档树中显示出来,这样可以提高效率。
主要特征值:nodeType 值等于 11、nodeName 等于 #document-fragment 、nodeValue 等于 null、parentNode 等于 null。
在 JavaScript 中可以使用 createDocumentFragment() 方法创建文档片段:
var fragment = document.createDocumentFragment();
使用 appendChild() 或 insertBefore() 方法可以把文档片段添加到文档树中。
每次使用 JavaScript 操作 DOM 都会改变页面呈现,并触发整个页面重新渲染(回流),从而消耗系统资源。为了解决这个问题,可以先创建一个文档片段,把所有的新节点附加到文档片段上,最后再把文档片段一次性添加到文档中,减少页面重绘的次数。
下面示例使用文档片段创建主流 Web 浏览器列表。
ul id= ul /ul script var element = document.getElementById( ul var fragment = document.createDocumengFragment(); var browsers = [ Firefox , Chrome , Opera , Safari , Internet Explorer browsers.forEach (function (brower) { var li = document.createElement( li li.textContent = browser; fragment.appendChild(li); //此处往文档片段插入子节点,不会引起回流 element.appendChild(fragment); //将打包好的文档片段插入ul节点 /script
上面示例准备为 ul 元素添加 5 个列表项。如果逐个添加列表项,将会导致浏览器反复渲染页面。为避免这个问题,可以使用一个文档片段来保存创建的列表项,然后再一次性将它们添加到文档中,这样能够提升系统的执行效率。
23239.html
javaJavaScriptWeb相关文章
- js书写原生ajax,JS 原生ajax写法
- js面试题及答案2020_JS面试题大全
- 使用 Dapr JS SDK 让 Nest.js 集成 Dapr(微软开源的分布式应用程序运行时)
- JS面试题-js新增基本数据类型BigInt
- Vue.js – 引入外部 JS 文件
- js浅拷贝和深拷贝的区别_前端面试深拷贝和浅拷贝
- 图解浏览器引用本地硬盘上的JS文档
- 原生 JS 实现 HTML 转 Markdown ,html2md.js
- Node.js 与 io.js 那些事儿
- 使用JS实现Redis数据读取(js读取redis)
- JS在Oracle中的应用(js如何oracle)
- JavaScript探索之旅掌握Oracle和JS的完美融合(js与oracle)
- Oracle中JS的优势让数据库性能提升(oracle中 js)
- js读取本地excel文档数据的代码
- CSS和JS标签style属性对照表(方便js开发的朋友)
- js对象之JS入门之Array对象操作小结
- Package.js现代化的JavaScript项目make工具
- 点击进行复制的JS代码实例
- js导入导出excel(实例代码)
- JS小功能(操作Table--动态添加删除表格及数据)实现代码
- js获取url参数代码实例分享(JS操作URL)
- 从数组中随机取x条不重复数据的JS代码