IE6/7/8/9中Table/Select的innerHTML賦值會報錯,如下
<!DOCTYPE HTML> <html> <head> <meta charset="gb2312"> <title>IE6/7/8/9中TABLE的innerHTML不能賦值</title> </head> <body> </body> </html>
[Ctrl+A 全選 注:如需引入外部Js需重新整理才能執行]
IE6/7 :
IE8 :
IE9 :
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也不能賦值,
<!DOCTYPE HTML> <html> <head> <meta charset="gb2312"> <title>IE6/7/8/9中Select的innerHTML不能賦值</title> </head> <body> </body> </html>
[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