上述方法(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 />