[PR]テレビ番組表
今夜の番組チェック

Internet Explorer (Windows) CSSバグリスト

フォーム部品集合がnodeName、childNodesプロパティを持っている(IE5.5)

症状

form要素内のフォーム部品の配列である document.forms[n].elements が本来持っているはずのないnodeNameやchildNodesといったプロパティを持っている。

例示

<script type="text/javascript">
function check() {
    var obj = document.forms[0].elements;
    if (obj.nodeName && obj.childNodes) {
        alert(obj.nodeName + '\n' + obj.childNodes.length);
    } else {
        alert('False.')
    }
}
</script>

<form action="#" id="f1">
<div><input type="text" name="i1"></div>
<div><input type="button" value="プロパティ参照" onclick="check()"></div>
</form>

「プロパティ参照」ボタンを押すと問題のプロパティが有効であるかを判定します。有効であればノード名と子ノードの数を、そうでなければ「False.」の文字列をアラートで出力します。

実行結果

UAアラートの内容
Moz1.0False.
WinIE6.0FORM
2

補足

このバグの原因は、documents.forms[n]document.forms[n].elements が同じオブジェクトを参照しているためと考えられます。

修正状況

WinIE6.0でも同様の現象が発生します。