IE6-IE9中tbody的innerHTML不能賦值

對於IE6-IE9裏若是要設置tbody的innerHTML,可使用以下替代方法html

Js代碼app

function setTBodyInnerHTML(tbody, html) { 
var div = document.createElement('div') 
div.innerHTML = '<table>' + html + '</table>'
while(tbody.firstChild) { 
tbody.removeChild(tbody.firstChild) 
} 
tbody.appendChild(div.firstChild.firstChild) 
}

用一個div來包含一個table,而後刪除tbody裏的全部元素,最後給tbody添加div的第一個元素的第一個元素,即div>table>tr。spa

固然還有一個更精簡的版本,它直接採用replaceChild方法替換code

function setTBodyInnerHTML(tbody, html) { 
var div = document.createElement('div') 
div.innerHTML = '<table>' + html + '</table>'
tbody.parentNode.replaceChild(div.firstChild.firstChild, tbody) 
}
相關文章
相關標籤/搜索