爱奇思

学习就是——从糊涂中慢慢走向清醒,然后再从清醒中慢慢走向糊涂,所以说我说它是一个O,只是圆的半径慢慢的扩大罢了!
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

用document.createDocumentFragment()来新建一个代码片段

如下代码:

代码
       var _tn;
       
var _d=document;
       
for(var i=0;i<100;i++){
         _tn
=_d.createTextNode(i);
         document.body.appendChild(_tn);
       }

 

上面写法会引起100次的页面回流(也就是dom树的100次刷新)

而下面的写法只刷新一次

 代码

       var _tn;
       
var _d=document;
       
var _dFragment=_d.createDocumentFragment();
       
for(var i=0;i<100;i++){
         _tn
=_d.createTextNode(i);
         _dFragment.appendChild(_tn);
       }
       document.body.appendChild(_dFragment);

 

 其实这就像我们常常采用并字符串的形式

var con='';

for(var i=0;i<10;i++){

  con+='<li>123<li>'; 

obj.innerHTML=con;有时这种方法效率会更高