生成一个2000×5的表单。每个单元格的内容是行号+逗号+列号。

方法1:生成表使用createElement,使用insertRow和insertCell方法生成的列和单元格的内容填充的innerHTML属性。
方法二:使用createElement生成表格并使用createElement方法生成的列。单元格的内容填充方法的作用是。
方法:三字符串拼接形式的innerHTML属性,使用字符串运算符连接字符串
方法四:拼接桌子的innerHTML属性的字符串,添加数组中的数组,最后调用Join方法生成目标字符串数组。

运行时间比较:
方法运行时间(ms)
方法1 93037
方法3341
方法三2795
方法四500

具体程序如下:
复制代码代码如下所示:


测试页

<!——
功能createtable(){
var t = document.createelement(}});
对于(var i = 0;i < 2000;i + +){
VAR r = t.insertrow();
对于(var j=0;j<5;j + +){
var c = r.insertcell();
c.innerhtml = I + ',' + J;
}
}
document.getelementbyid('table1)。AppendChild(T);
t.setattribute('border''、‘);
}
功能createtable2(){
var t = document.createelement(}});
var b = document.createelement('tbody);
对于(var i = 0;i < 2000;i + +){
VAR r = document.createelement(TR');
对于(var j=0;j<5;j + +){
var c = document.createelement('td);
var m = document.createtextnode(我+ ',' + J);
c.appendchild(M);
R.appendChild(C);
}
b.appendchild(R);
}
t.appendchild(B);
document.getelementbyid('table1)。AppendChild(T);
t.setattribute('border''、‘);
}
功能createtable3(){
var数据=;
数据=;
对于(var i = 0;i < 2000;i + +){
数据=;
对于(var j=0;j<5;j + +){
数据+,+,+;
}
数据=;
}
数据=;
document.getelementbyid('table1).innerHTML =数据;
}
功能createtable4(){
新数组();
Data.push();
对于(var i = 0;i < 2000;i + +){
Data.push();
对于(var j=0;j<5;j + +){
Data.push(+我+ ',' + J +);
}
Data.push();
}
Data.push ('');
document.getelementbyid('table1).innerHTML = data.join(' ');
}
功能showfunctionruntime(F){
新的日期();
(f);
新日期();
警报(T2 - T1);
}







ShowFunctionRunTime (createTable);
showfunctionruntime(createtable2);
showfunctionruntime(createtable3);
showfunctionruntime(createtable4);




1、inserrow()和insertCell()函数
insertRow()函数可以以参数的形式如下:
insertRow(指数)
此功能将添加新的行的索引,如insertRow(0),是添加一个新列的第一行之前。默认insertRow()函数相当于insertRow(- 1),添加新的行表的末尾。
对使用insertCell()和insertRow是相同的。
2。动态设置属性和事件
innerHTML和innerText上面列的属性。
InnerText是添加到它的文本,和对手的HTML代码添加到它。
设置其他属性的方式相同,例如,设置线条背景色
tr.bgcolor =';
将ColSpan属性设置
td.colspan = 3;
U3000 U3000
设置事件也是一样的,需要稍微解释一下。
例如,实现一个功能newclick自己定义当我想点击新增加的功能,newclick如下:
功能newclick(){
警报(这是一个新添加的行);
}
代码为onclick事件设置此功能如下:
tr.onclick = newclick;
这里需要的是后一部分必须是函数名,不能引用引号。
newtr.onclick = newclick();
newtr.onclick = 'newclick;
newtr.onclick =newclick ;
上面写的都错了。
以下的写作是正确的。
newtr.onclick =功能newclick(){
警报(这是一个新添加的行);
}
动态删除表
方法1:
复制代码代码如下所示:


第一行删除该行。


第二行删除该行。



功能deleteRow(ID,开始){
无功表=文件。所有@TableID } {
table.deleterow(开始);
}
功能getrownum(ID){
var标签=文件。所有@TableID } {
表行数
无功行= tab.rows.length;
表列的数目
var = tab.rows.item细胞(0)。Cells.length;
}


方法2:
复制代码代码如下所示:


第一行删除该行。


第二行删除该行。



功能deleteRow(obj){
obj.parentelement.removechild(obj);
}