JS对table操做的兼容性

今天写代码的时候发现一些问题,总结下:html

1.在tbody中插入html的时候FF chrome都没问题,在IE下报错(查资料获得:IE中table tbody tr等的InnerHTML都为只读,td的能够读写。因此报错)chrome

2.在向一个节点插入HTML代码时,因为IE不支持insertAdjacentHTML方法。因此作了以下判断app

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);这一行。spa

 

3.在Chrome中操做表格。动态生成表格(因为IE 中 tbody不能够写入),使用了tbody.insertRow()和tbody.insertCell()方法。可是获得的结果和IE FF中是相反的。code

IE和FF中是按顺序排列,插入表格。Chrome中是反向的。行和列都是反的。htm

因此,不得已,使用了appendChild方法。blog

相关文章
相关标签/搜索