IE中关于使用innerHTML加入HTML代码的问题

innerHTML属性在原生javascript中被用于在一个标签内部加入HTML代码,但是这个方法也不是在所有情况下适用, 就比如在IE下面。 看如下代码: tbody id=#39;22#39; /tbody 我们现在想通过innerHTML属性给tbody中间加

innerHTML属性在原生javascript中被用于在一个标签内部加入HTML代码,但是这个方法也不是在所有情况下适用, 

就比如在IE下面。 

看如下代码: 


<tbody id='22'> 
</tbody> 


我们现在想通过innerHTML属性给tbody中间加入<tr>等HTML代码,会这么做: 


<span style="font-family:SimSun;font-size:14px;">document.getElementById('22').innerHTML = '<tr></tr>'</span> 


这样在Chrome下是OK的,但是换到IE下,就会报错,且IE下报的错并不指明是innerHTML出问题了,它只告诉你这一行代码有问题。为什么呢? 

查看一下MS的MSDN就知道答案了,原文MSDN-innerHTML 。在MS关于innerHTML说明的文章中,有这么一句: 

“The innerHTML property is read-only on the col, colGroup, frameSet, html, head, style, table, tBody, tFoot, tHead, title, and tr objects.” 说明在IE下,这些 

的innerHTML属性是只读的。 

如果想在里面设置内容,只能设置纯文本,用innerText。

相关文章推荐:

1.innerHTML动态添加html代码和脚本兼容性问题处理方法

2.innerHTML属性应用(HTML DOM innerHTML)

3.js中innerText,innerHTML的用法

4.jQuery中没有innerText、innerHtml

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐