如何正确地给 table 追加 tr

作者:chilleen 来源:ITPOW(原创) 日期:2007-1-31

在 IE 中利用 DOM 追加表格的一行与其它浏览器中有两点不同。

  • IE 中应该先追加行,再追加列,再追加文本内容。而其它浏览器则无此限制。
  • IE 中不能直接给 table 追加 tr,应该给 tbody 追加行(如果没有 tbody,则应先给 table 追加 tbody)。而其它浏览器则无此限制。

根据此,我们可以写出兼容各浏览器的代码,如下,非注释部分为兼容各浏览器的。

<table id="tbl">
  <tbody id="tblBody"></tbody>
</table>
<script type="text/javascript" language="javascript">
<!--
/*
//这段代码在 IE 中不起作用
var nd = document.createTextNode("内容");
var cell = document.createElement("td")
var row = document.createElement("tr").appendChild(cell);
var row = document.getElementById("tblBody").appendChild(row);
*/


//var row = document.getElementById("tbl").appendChild(document.createElement("tr")); //这段代码在 IE 中不会起作用。
var row = document.getElementById("tblBody").appendChild(document.createElement("tr"));
var cell = row.appendChild(document.createElement("td"));
cell.appendChild(document.createTextNode("内容"));
-->
</script>
相关文章