下面这段代码 我在IE、火狐、Chrome都测试通过<html>
<head>
<title> New Document </title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<script type="text/javascript">
function rdl_doAdd(){
var filetable = document.getElementById('filelist');
var tr = document.createElement('tr');
var td1 = document.createElement('td');
td1.innerHTML = '111';
var td2 = document.createElement('td');
td2.innerHTML = '222';
tr.appendChild(td1);
tr.appendChild(td2);
filetable.appendChild(tr);
}
</script>
</head>
<body>
<table cellspacing=1 id=myTable width=90%>
<tbody id="filelist">
</table>
<br><input type=button value=" 插入TBODY " οnclick="rdl_doAdd();">
</body>
</html>
需要注意的是<table>中要有<tbody>否则在IE6下不起作用。原因据说如下:
在 IE 下 COL, COLGROUP, FRAMESET, HTML, STYLE, TABLE, TBODY, TFOOT, THEAD, TITLE, TR 这些元素的 innerHTML 属性都是只读的,不能直接操作。
原来直接使用insertRow() 方法在ie下没有问题,但是火狐和chrome就没有效果,网上说改成insertRow(-1),但我这里还是不行
var tb = document.getElementById("datatable");
tb.rows[1].cells[1].innerHTML ="zzzzzz";
//表格行数
var rownum = tb.rows.length ;
//列数
var cownum = tb.rows.item(0).cells.length;
//添加一行
var newTr = tb.insertRow();
//添加列
for (i=0;i<3;i++) {
var myTD=myTr.insertCell();
myTD.innerText="第"+(i+1).toString()+"个单元格";
}
参考:http://www.jb51.net/article/19708.htm