今天写代码的时候发现一些问题,总结下:
1.在tbody中插入html的时候FF chrome都没问题,在IE下报错(查资料得到:IE中table tbody tr等的InnerHTML都为只读,td的可以读写。所以报错)
2.在向一个节点插入HTML代码时,由于IE不支持insertAdjacentHTML方法。所以做了如下判断
if(element.insertAdjacentHTML){ element.insertAdjacentHTML('beforeEnd',html); }else{ var div = document.createElement('div'); div.innerHTML = html; element.appendChild(div.childNodes[0]); div = null; }
后来发现IE8也支持 insertAdjacentHTML方法,所以在用innerHTML往tbody中插入代码时,保存显示在了element.insertAdjacentHTML('beforeEnd',html);这一行。
3.在Chrome中操作表格。动态生成表格(由于IE 中 tbody不可以写入),使用了tbody.insertRow()和tbody.insertCell()方法。但是得到的结果和IE FF中是相反的。
IE和FF中是按顺序排列,插入表格。Chrome中是反向的。行和列都是反的。
所以,不得已,使用了appendChild方法。