IE中innerHTML报错

最近项目中需要在tbody中插入html内容,jquery中可以这么使用

[code lang=”js”]$("#xxx").html("需要插入的内容");[/code]

但是项目由于没有用到jquery,所以只能使用纯JS了,第一个想到的方法是 innerHTML

[code lang=”js”]document.getElementById ("xxx").innerHTML = "需要插入的内容"[/code]

注意:这段JS只能在firefox上运行,在IE中却会报错;

查阅资料发现 IE中 COL, COLGROUP, FRAMESET, HEAD, HTML, STYLE, TABLE, TBODY, TFOOT, THEAD, TITLE, TR, SELECT  这些都是只读。

把代码改成下面就可以了

[code lang=”js”]</p>
<p>setTBodyInnerHTML(document.getElementById (&quot;xxxx&quot;),&quot;需要插入的内容&quot;);</p>
<p>function setTBodyInnerHTML(tbody, html) {<br />
var temp = tbody.ownerDocument.createElement(‘div’);<br />
temp.innerHTML = ‘&lt;table&gt;’ + html + ‘&lt;/table&gt;’;</p>
<p>tbody.parentNode.replaceChild(temp.firstChild.firstChild, tbody);</p>
<p>}</p>
<p>[/code]

此条目发表在笔记分类目录。将固定链接加入收藏夹。

发表评论

电子邮件地址不会被公开。 必填项已用*标注