没错,tbody元素上的innerHTML在IE中是readOnly
对于除以下对象以外的所有对象,该属性均为可读/写状态;对于以下对象,该属性为只读:COL,COLGROUP,frameSET,HEAD,HTML,STYLE,TABLE,TBODY,TFOOT,THEAD,TITLE,TR。
您可以执行以下操作来解决此问题:
function setTBodyInnerHTML(tbody, html) { var temp = tbody.ownerdocument.createElement('div'); temp.innerHTML = '<table>' + html + '</table>'; tbody.parentNode.replaceChild(temp.firstChild.firstChild, tbody);}基本上,它将创建一个临时节点,您将在其中注入full
table。然后,它取代了
tbody与
tbody从注入
table。如果事实证明它很慢,则可以通过缓存
temp而不是每次都创建它来使其更快。



