如何能高效的批量生成DIV

cdmar79 2007-09-05 05:25:36
批量生成500~1000个DIV
我用了CreateElement,但是效率不是很理想
有更高效的办法吗?
...全文
338 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
cdmar79 2007-09-07
  • 打赏
  • 举报
回复
晕,为什么我在用innerHTML的时候,会有一定几率会报错

try
{
adiv.innerHTML = Ar.join("");
}
catch(e)
{
alert("err");
}
cdmar79 2007-09-05
  • 打赏
  • 举报
回复
高啊!先给分
cdmar79 2007-09-05
  • 打赏
  • 举报
回复
个人觉得 btbtd(影子...) 的方法会更快
但是,对 lemonfamily() 的createDocumentFragment不熟
明天自己都测试一下,会把测试结果公布在本帖
先谢谢两位了
JK_10000 2007-09-05
  • 打赏
  • 举报
回复
以下代码无实用价值,博君一笑而已
肯定不慢于上面的,

<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
btbtd 2007-09-05
  • 打赏
  • 举报
回复
这个应该是最高效的...
谁有更高效的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>
btbtd 2007-09-05
  • 打赏
  • 举报
回复
先建一个容器SPAN, 先别 append 进 DOM里...

把那N个 DIV append 进 SPAN,
完成后 append 进 DOM...
lemonfamily 2007-09-05
  • 打赏
  • 举报
回复
用文档碎片方法createDocumentFragment,然后用appendchild合并到文档中

87,921

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧