table中innerHTML
<table id="aa">
<tbody>
<tr>
<td>单元格一</td><td>单元格二</td>
</tr>
</tbody>
</table>
如果我想把aa表格中的<tr><td>单元格一</td><td>单元格二</td></tr>换成<tr><td>单元格三</td><td>单元格四</td></tr>
第一个反应:document.getElementById('aa').tBodies[0].innerHTML = '<tr><td>单元格三</td><td>单元格四</td></tr>'
一个很不幸的消息就是在IE中会报错“未知的运行错误”,查原因....
原因:在IE中,表格的innerHTML是只读的,不能写
所以:var aa = document.getElementById('aa'),tbody = aa.tBodies[0],temp = document.createElement('div')
temp.innerHTML = "<table><tbody><tr><td>单元格三</td><td>单元格四</td></tr></tbody></table>";
aa.replaceChild(temp.firstChild.tbodies[0], tbody);
还有一点值得注意的是:aa.replaceChild(temp.firstChild.tbodies[0], tbody)这行中,表格的操作必须tbody元素,如果直接操作tr就会报错,例下面:
var aa = document.getElementById('aa'),tr = aa.rows[0],temp = document.createElement('div')
temp.innerHTML =
"<table><tbody><tr><td>单元格三</td><td>
单元格四</td></tr></tbody></table>";
aa.replaceChild(temp.firstChild.rows[0], tr);