用文档碎片方法createDocumentFragment,然后用appendchild合并到文档中

解决方案 »

  1.   

    先建一个容器SPAN, 先别 append 进 DOM里...把那N个 DIV append 进 SPAN,
    完成后 append 进 DOM...
      

  2.   

    这个应该是最高效的...
    谁有更高效的PK一下...<body>
    <script type="text/javascript">
    /*<![CDATA[*/
     var Count = 0;
     var Len = 1000;
     var StartDate = new Date();
     var Span = document.createElement("span");
     var Ar = [];
     for(var i=0; i<Len; i++)
     {
      Ar.push("<div>");
      Ar.push(i);
      Ar.push("<br/>");
      Ar.push("</div>");
     }
     Span.innerHTML = Ar.join("");
     document.body.appendChild(Span);
      var EndDate = new Date();
     defaultStatus = EndDate - StartDate;
    /*]]*/
    </script>
      

  3.   

    以下代码无实用价值,博君一笑而已
    肯定不慢于上面的,<body>
    <script type="text/javascript">
    /*<![CDATA[*/
     var Count = 0;
     var Len = 1000;
     var StartDate = new Date();
     var Span = document.createElement("span");
     var Ar = [];
    Ar[0]="<div>"+0;
     for(var i=1; i<Len-1; i++)
     {
      Ar.push(i);
     }
    Ar[Len-1]=Len+"</div>";
     Span.innerHTML = Ar.join("<br/></div><div>");
     document.body.appendChild(Span);
      var EndDate = new Date();
     defaultStatus = EndDate - StartDate;
    /*]]*/
    </script>回到楼主的主题,
    大批量对量用innerHTML
    大量字符串想加用array的join
      

  4.   

    个人觉得 btbtd(影子...)  的方法会更快
    但是,对 lemonfamily() 的createDocumentFragment不熟
    明天自己都测试一下,会把测试结果公布在本帖
    先谢谢两位了
      

  5.   

    晕,为什么我在用innerHTML的时候,会有一定几率会报错

    try
    {
      adiv.innerHTML = Ar.join("");
    }
    catch(e)
    {
      alert("err");
    }