无。
IE6 IE7 IE8 浏览器中对
APPLET、AREA、BR、COL、COLGROUP、FRAME、HEAD、HR、HTML、IFRAME、IMG、INPUT、ISINDEX、META、NOFRAMES、NOSCRIPT、OBJECT、PARAM、SCRIPT、STYLE、TABLE、TBODY、TFOOT、THEAD、TITLE、TR
元素设置 innerHTML 属性时会抛异常。其中 IE6 对 ABBR 元素设置 innerHTML 属性时也会抛异常。
Safari 对 AREA、BASE、BR、COL、COLGROUP、FRAME、FRAMESET、HEAD、HR、IMG、INPUT、ISINDEX、META、PARAM 对象设置 innerHTML
属性时会抛异常。
若对问题描述中的对象设置 innerHTML 属性,则可能在 IE、Safari 中抛出异常,导致代码停止运行。
所有浏览器 |
---|
MSDN 中描述对象的 innerHTML 方法为获取或设置对象起始和结束标签之间的 HTML 代码。
MDC 中描述对象的 innerHTML 方法为设置或获取元素子孙元素的 HTML 格式代码。
更多关于 innerHTML 方法的信息,参见 MSDN innerHTML Property 及 Mozilla
Developer Center element.innerHTML
中的内容。
同时 innerHTML 方法已经成为 HTML5 草案的一部分,参见 3.5.5 innerHTML。
测试代码:innerHTML.html1
注 1: 由于代码较多,正文不再贴出,具体代码参见 "测试页面"。
HTML4.01 规范中的元素对象的 innerHTML 方法设置权限情况在各浏览器中的运行效果如下:
IE6 | IE7 IE8 | Safari | Firefox Chrome Safari | |
---|---|---|---|---|
ABBR1 | 未知的运行时错误 | OK | OK | OK |
APPLET NOFRAMES NOSCRIPT OBJECT SCRIPT STYLE TABLE TBODY TFOOT THEAD TR | 未知的运行时错误 | 未知的运行时错误 | OK | OK |
AREA BASE BASEFONT BR COL COLGROUP HR IMG INPUT ISINDEX META PARAM | 未知的运行时错误 | 未知的运行时错误 |
NO_MODIFICATION_ALLOWED_ERR:
DOM Exception 7 |
OK |
FRAME | 对象不支持此属性或方法 | 对象不支持此属性或方法 |
NO_MODIFICATION_ALLOWED_ERR:
DOM Exception 7 |
OK |
FRAMESET | OK | OK |
NO_MODIFICATION_ALLOWED_ERR:
DOM Exception 7 |
OK |
IFRAME | 对象不支持此属性或方法 | 对象不支持此属性或方法 | OK | OK |
HTML TITLE |
无法设置 innerHTML 属性。
该操作的目标元件无效。 |
无法设置 innerHTML 属性。
该操作的目标元件无效。 |
OK | OK |
HEAD |
无法设置 innerHTML 属性。
该操作的目标元件无效。 |
无法设置 innerHTML 属性。
该操作的目标元件无效。 |
NO_MODIFICATION_ALLOWED_ERR:
DOM Exception 7 |
OK |
其他 HTML 元素对象 | OK | OK | OK | OK |
注 1: 关于 ABBR 元素在 IE6 中的的怪异表现,本文不再单独分析,请参见相关问题。
首先自闭和元素由于其不具备结束标签,所以其 innerHTML 方法本身并无意义。此外,某些浏览器针对一些特殊结构的元素取消了其 innerHTML 属性的设置权限。所以在为 HTML 元素对象设置其 innerHTML 属性时需格外注意,避免为可能抛出异常的元素设置其 innerHTML 属性。
操作系统版本: | Windows 7 Ultimate build 7600 |
---|---|
浏览器版本: |
IE6
IE7 IE8 Firefox 3.6.10 Chrome 7.0.517.17 dev Safari 5.0.2 Opera 10.62 |
测试页面: | innerHTML.html |
本文更新时间: | 2010-10-09 |
innerHTML