动态插入表格的行
时间:2007-08-22 来源:shiwudao
HTML中的table元素比较特殊,其dom节点table以及row的innerHTML是只读的,这意味我们不能够向其他元素一样,直接给innerHTML赋值来动态创建表格。
但是有时候我们通过读取服务器数据得到行的内容,需要将他们直接插入到一个已有的表格中该如何做呢。
如果直接createElement("tr"),然后用appendChild的话,在IE下会失败,在FF虽然可以,但是并不是作为一个row插入的,而只是一个dom节点,失去了所有表格的特性。
一种方法是创建一个临时表格,比如获取的数据为字符串形式tr_str = "<tr><td>11111</td></tr>",
那么可以
var str="<table>" + tr_str + "</table>",然后把str指定给一个临时div的innerHTML.
简易代码如下
var tr_str = "<tr><td>11111</td></tr>";
var str="<table id='tmptable'>" + tr_str + "</table>"
var tmpdiv = document.createElement("div");
tmpdiv.style.display = "none";
tmpdiv.innerHTML = str;
document.body.appendChild(tmpdiv);
var rows = document.getElementByID("tmptable");
var newrow = rows[0].cloneNode(true);
tmpdiv.innerHTML="";
origtable.childNodes[0].appendChild(newrow);
相关阅读 更多 +