IE6/7/8中Table不能设置innerHTML属性,会报错,重现如下:
<!DOCTYPE HTML>
<html>
<head>
<title>TABLE 的 innerHTML Bug</title>
</head>
<body>
<script type="text/javascript">
var table = document.createElement('table');
table.innerHTML = '<tr><td>Test table innerHTML</td></tr>'
document.body.appendChild(table);
</script>
</body>
</html>
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.
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.
相关:
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
注:Select元素也存在相同的情况。