我意识到嵌套在一个选项元素中(除optgroup
之外)违反了w3c标准。但是,是否任何元素都不违反此标准?
答案 0 :(得分:6)
答案 1 :(得分:1)
通过HTML语法规则,您无法在option
内嵌套任何元素。 (您可以在option
内嵌套optgroup
,但这是一个不同的问题。)
浏览器强制执行此操作:它们会丢弃option
中的所有标记。您可以通过<option>foo <em>bar</em></option>
测试并查看文档来查看此内容,例如与Firebug。
但是,可能使用脚本在option
元素中插入DOM元素,例如
<option id=foo>
...
<script>
document.getElementById('foo').innerHTML = 'Hello <em>world</em>';
</script>
这不是特别有用,因为浏览器对option
元素的内容样式设置了严格的限制。在我测试的浏览器中,只有Firefox以em
(斜体)的常规方式在此上下文中呈现em
元素,并允许我设置例如它在CSS中的颜色和背景。
当然,以违反HTML规则的方式使用DOM有点冒险。