文書のMIMEタイプがtext/htmlであるときは、HTML勧告で定義していない要素(XHTML1.1のルビ関連要素など)を無視する空要素として扱う。このため、HTML文書ではこれらの要素にスタイルを指定しても無視される。
- Category: Opera, Windows, ver.9 Under
例示
<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勧告外要素へのスタイル指定は無効です。
修正状況
- Opera7.23の標準モードと互換モードで現象の発生を確認しました。
- Opera7.03、Opera7.11でこの現象は発生しないようです。


