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) 
}
相关文章
相关标签/搜索