下面這段代碼 我在IE、Firefox、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 " onclick="rdl_doAdd();">
</body>
</html>
需要注意的是<table>中要有<tbody>否則在IE6下不起作用。原因據說如下:
在 IE 下 COL, COLGROUP, FRAMESET, HTML, STYLE, TABLE, TBODY, TFOOT, THEAD, TITLE, TR 這些元素的 innerHTML 屬性都是唯讀,不能直接操作。
原來直接使用insertRow() 方法在ie下沒有問題,但是Firefox和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