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

相關文章
相關標籤/搜索