上述方法(document.createElement( )循环),虽然能够成功生成相同的dom元素,但是性能上是存在问题的。
每次插入dom元素到body后,dom树会重排,之后页面会因为新的dom元素的插入而重新绘制,这两个过程是极其耗时的。
因此,推荐使用文档碎片document.createDocumentFragment()。
https://www.cnblogs.com/zhangkeyu/p/6665793.html
//利用文档碎片 提高性能 frag相当于一个容器 frag并不会插入body而是把frag的内部元素全部插入body
window.onload = function(){
var frag = document.createDocumentFragment();
var el = document.createElement(‘div’);
el.appendChild(document.createTextNode(‘Hi’));
for (var i = 10; i > 0; —i)
frag.appendChild(el.cloneNode(true)); //先将生成的dom全部插入frag先,这个过程并不会触发重排与重绘
document.body.appendChild(frag); //将生成的frag插入body中,将10次重排重绘的过程压缩为一次<br />};<br />![image.png](https://cdn.nlark.com/yuque/0/2020/png/446381/1593530844314-45ade50c-b7f2-46d3-a19a-099ff60be0fa.png#align=left&display=inline&height=162&margin=%5Bobject%20Object%5D&name=image.png&originHeight=323&originWidth=236&size=3214&status=done&style=none&width=118)