博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HTML DOM createDocumentFragment() 方法
阅读量:4132 次
发布时间:2019-05-25

本文共 1289 字,大约阅读时间需要 4 分钟。

HTML DOM createDocumentFragment() 方法

定义和用法

createdocumentfragment()方法创建了一虚拟的节点对象,节点对象包含所有属性和方法。

当你想提取文档的一部分,改变,增加,或删除某些内容及插入到文档末尾可以使用createDocumentFragment() 方法。

你也可以使用文档的文档对象来执行这些变化,但要防止文件结构被破坏,createDocumentFragment() 方法可以更安全改变文档的结构及节点。

语法

document.createDocumentFragment()

DOM中,添加DOM节点时,多次调用document.body.append(),每次都要刷新页面一次。效率也就大打折扣了,而使用document_createDocumentFragment()创建一个文档碎片,把所有的新结点附加在其上,然后把文档碎片的内容一次性添加到document中,这也就只需要一次页面刷新就可。document_createDocumentFragment()可以起到节约使用DOM的作用。每次JavaScript对DOM的操作都会改变页面的变现,并重新刷新整个页面,从而消耗了大量的时间。为解决这个问题,可以创建一个文档碎片,把所有的新节点附加其上,然后把文档碎片的内容一次性添加到document中。

实例

var d1 = new Date();//创建十个段落,常规的方式for(var i = 0 ; i < 1000; i ++) {    var p = document.createElement("p");    var oTxt = document.createTextNode("段落" + i);    p.appendChild(oTxt);    document.body.appendChild(p);}var d2 = new Date();document.write("第一次创建需要的时间:"+(d2.getTime()-d1.getTime()));//使用了createDocumentFragment()的程序var d3 = new Date();var pFragment = document.createDocumentFragment();for(var i = 0 ; i < 1000; i ++) {    var p = document.createElement("p");    var oTxt = document.createTextNode("段落" + i);    p.appendChild(oTxt);    pFragment.appendChild(p);}document.body.appendChild(pFragment);var d4 = new Date();document.write("第2次创建需要的时间:"+(d4.getTime()-d3.getTime()));

转自菜鸟教程,

转载地址:http://bijvi.baihongyu.com/

你可能感兴趣的文章
Java代码检查工具Checkstyle常见输出结果
查看>>
北京十大情人分手圣地
查看>>
Android自动关机代码
查看>>
Android中启动其他Activity并返回结果
查看>>
2009年33所高校被暂停或被限制招生
查看>>
GlassFish 部署及应用入门
查看>>
iWatch报错: Authorization request cancled
查看>>
iWatch报错: Authorizationsession time out
查看>>
X-code7 beta error: warning: Is a directory
查看>>
Error: An App ID with identifier "*****" is not avaliable. Please enter a different string.
查看>>
X-code beta 开发iWatch项目,运行没有错误,但是某些操作一点就崩,而且找不错误的原因场景一
查看>>
Xcode 报错: Extra argument in call
查看>>
iTunes Connect 上传APP报错: Communication error. please use diagnostic mode to check connectivity.
查看>>
#import <Cocoa/Cocoa.h> 报错 Lexical or Preprocessor Issue 'Cocoa/Cocoa.h' file not found
查看>>
`MQTTClient (~> 0.2.6)` required by `Podfile`
查看>>
X-Code 报错 ld: library not found for -lAFNetworking
查看>>
Bitcode
查看>>
If you want to see the backtrace, please set CG_CONTEXT_SHOW_BACKTRACE environmental variable.
查看>>
3.5 YOLO9000: Better,Faster,Stronger(YOLO9000:更好,更快,更强)
查看>>
iOS菜鸟学习--如何避免两个按钮同时响应
查看>>