对于这种几千个TD的填充, 用 getElementsByTagName 效率会高出很多:
var tds = document.all.tableId.getElementsByTagName("TD");
var len = tds.length;
for(var i=0; i<len; i++)
{
tds[i].innerText = Arr[i];
}
var tds = document.all.tableId.getElementsByTagName("TD");
var len = tds.length;
for(var i=0; i<len; i++)
{
tds[i].innerText = Arr[i];
}
还有一个问题就是,ie有时候会自动退出,原因大概是大多javascript了,算不过来吧:),有什么办法解决吗?
我的代码随便贴出一段,你看有没有什么不规范?
//已分配学时
function alertTable(tableid, win) {
if (win == null) win = top;
var table = win.document.getElementById(tableid);
alert(table.innerHTML);
}
function clearTable(tableid, win) {
if (win == null) win = top;
var table = win.document.getElementById(tableid);
//alert(table.childNodes.length);
while(table.childNodes.length > 0)
{
//alert(i + " " + table.childNodes[i].innerHTML);
table.removeChild(table.childNodes[0]);
}
}
1、不要对tag平凡调用,比如在for语句中加入类似getElementByTagName('td').innerText !="***"的语句,尽量用变量替代画面元素。
2、尽量少用eval()
3、对大作业量画面元素使用时,先不要着急写,想好思路,代码多点也不要紧,尽量少几层嵌套和判断。