网络编程
位置:首页>> 网络编程>> JavaScript>> IE6/7/8/9中Table/Select的innerHTML不能赋值的解决方法

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

  发布时间:2024-04-10 16:16:48 

标签:Select,innerHTML,不能赋值

IE6/7/8/9中Table/Select的innerHTML赋值会报错,如下

<!DOCTYPE HTML> <html> <head> <meta charset="gb2312"> <title>IE6/7/8/9中TABLE的innerHTML不能赋值</title> </head> <body> <script type="text/javascript"> try{ var table = document.createElement('table'); table.innerHTML = '<tr><td>Test table innerHTML</td></tr>' document.body.appendChild(table); }catch(e){ alert(e); } </script> </body> </html>



IE6/7 :

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

IE8 :

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

IE9 :

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


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> <script type="text/javascript"> try{ var select = document.createElement("select"); select.innerHTML = '<option value="1">one</option>'; document.body.appendChild(select); }catch(e){ alert(e); } </script> </body> </html>



但不抛异常。


相关:
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

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com