文書のMIMEタイプがtext/htmlであるときは、HTML勧告で定義していない要素(XHTML1.1のルビ関連要素など)を無視する空要素として扱う。このため、HTML文書ではこれらの要素にスタイルを指定しても無視される。
<script type="text/javascript">
function list() {
var src = document.getElementById('source');
var nds = document.getElementById('nodes');
for (var i = 0; i < src.childNodes.length; i++) {
var litem = document.createElement('li');
litem.appendChild(document.createTextNode(src.childNodes[i].nodeName));
nds.appendChild(litem);
}
}
</script>
<p id="source"><foo>1</foo>2<bar>3</bar></p>
<ol id="nodes"></ol>
HTMLで定義されていない要素fooとbarを含むp要素の子ノードのリストをol要素に書き出しています。
Netscape7.1、Opera7.11
- FOO
- #text
- BAR
Opera7.23
- foo
- #text
- #text
- bar
- #text
Opera7.2以降は文書のMIMEタイプを厳密に判断するので、XML系のMIMEタイプ(例:application/xhtml+xml, application/xml, text/xml)を指定した文書でなければHTML勧告外要素のスタイル指定が反映されません。従って文書の記述がXHTML準拠であるとしても、MIMEタイプがHTMLのものであればHTML勧告外要素へのスタイル指定は無効です。