关于请问document.createDocumentFragment( )

关于请问document.createDocumentFragment( )

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>create创建新的节点(综合创建方法)</title>
</head>
<body>
<ul id="myList"></ul>

<script>
//综合创建方法:
//第一步,获取ul对象
var ul=document.getElementById("myList");
//创建变量li,初始值为null
var li=null;
//创建变量con,用来接收需要创建的文本节点
var con=null;
//通过for循环来创建三个li标签
for (var i = 0; i < 3; i++) {
//通过document.createElement()方法创建节点,并赋值给变量li
li=document.createElement("li");
//通过document.createTextNode()方法创建文本节点,并赋值给变量con
con=document.createTextNode("这是li"+(i+1));
//将创建好的文本节点添加到li标签中
li.appendChild(con);
//最后包含文本内容的li标签添加到ul标签中
ul.appendChild(li);
}

</script>
</body>
</html>

http://img1.sycdn.imooc.com//climg/5da890ba09187ab002000093.jpg

我根据视频中老师讲的内容梳理了一下,如果不使用document.createDocumentFragment( )这个方法,而是直接将li标签添加到ul中,依然可以实现效果,那么document.createDocumentFragment( )意义又何在呢?什么情况下适合用到这个方法呢?

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,使用文档片段通常会带来更好的性能。

1、关于这段代码:使用循环将li先装填到fragment代码片段中,最后再将代码片段装填到ul中,页面结构只会改变一次。因此,使用文档片段通常会带来更好的性能。

2、通俗的来讲就好比搬砖,一块砖就要跑一趟,不如多块砖装筐一起运。也就是先装到文档片段再一起装到DOM树中比每一次都直接装到DOM树中的成本低。

3、而用处就是创建一个新的空白的文档片段,将其添加到文档树中。跟同学实现的功能是一样的,只不过实现方法不一样而已。

希望我的回答能够帮助到你,望采纳,祝学习愉快!


问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师