欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

IE6/7/8/9中Table/Select的innerHTML不能赋值的解决方法_javascript技巧

程序员文章站 2022-03-10 10:46:13
...
IE6/7/8/9中Table/Select的innerHTML赋值会报错,如下

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

IE6/7 :

IE6/7/8/9中Table/Select的innerHTML不能赋值的解决方法_javascript技巧

IE8 :

IE6/7/8/9中Table/Select的innerHTML不能赋值的解决方法_javascript技巧

IE9 :

IE6/7/8/9中Table/Select的innerHTML不能赋值的解决方法_javascript技巧


Firefox/Safari/Chrome/Opera中正常。Ext.DomHelper中使用div,把table添加到div中间接实现。

MSDN 写道

The property is read/write for all objects except the following, for which it is read-only: COL, COLGROUP, FRAMESET, HEAD, HTML, STYLE, TABLE, TBODY, TFOOT, THEAD, TITLE, TR. The property has no default value.
DHTML expressions can be used in place of the preceding value(s). As of Internet Explorer 8, expressions are not supported in IE8 mode. For more information, see About Dynamic Properties.


Select元素的innerHTML也不能赋值,

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

但不抛异常。


相关:
http://msdn.microsoft.com/en-us/library/ms533897%28VS.85%29.aspx
https://developer.mozilla.org/en/dom:element.innerhtml
http://www.w3.org/TR/html5/apis-in-html-documents.html#dom-innerhtml