使用 JS 动态生表格在 IE6 下面的一个小问题

最近一个项目中需要用到树控件,功能要求挺多的,在网上没有找到现成的,就自己做了一个。

树是根据相关的数据使用 JS 动态创建的,每一个节点是使用表格来排版的, 所以这里就需要使用到动态创建表格的功能:

var table = document.createElement("<table border=0 cellpadding=0 cellspacing=0 width=100%>");
var tr = document.createElement("tr");
table.appendChild(tr); 

 

 在 IE6 下面,表格死活不出来,测试了很长时间,最后改成了:

 

var table = document.createElement("<table border=0 cellpadding=0 cellspacing=0 width=100%>");
var tbody = document.createElement('tbody');
table.appendChild(tbody);

var tr = document.createElement("tr");

tbody.appendChild(tr);  

 

中间添加了一个 tbody 就没事了。

 

写代码写出惯性来了,创建元素的时候只记得 document.createElement 了,都忘记 table 有一个 insertRow 方法。

使用 insertRow 方法就没有以上的问题:

var table = document.createElement("<table border=0 cellpadding=0 cellspacing=0 width=100%>");

var tr = table.insertRow();
// 不需要把 tr 加到表格里, insertRow 方法已经自动把新添加的行加入到表格了 

posted @ 2009-11-13 15:34  匡匡  阅读(292)  评论(0编辑  收藏  举报