head要素のchildNodes.item(0)が必ずtitle要素になる

症状

DOMによりhead要素の childNodes.item(0) を参照すると、文書中での記述にかかわらずtitle要素になっている。 また、title要素のtextプロパティに適切な値がある場合でもchildNodes.lengthプロパティを参照すると必ず0が返る。

例示

<head>
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis" />
<title>head要素のchildNodes.item(0)が必ずtitle要素になる - ぺんたん info</title>
<script type="text/javascript">
function nodes1() {
    var obj1 = document.getElementsByTagName('head');
    var obj2 = obj1.item(0).childNodes.item(0);
    alert(obj2.nodeName);
}
function nodes2() {
    var obj = document.getElementsByTagName('title').item(0);
    alert(obj.text);
    alert(obj.childNodes.length);
}
</script>
</head>

<p><a href="javascript:nodes1()">head要素参照</a></p>
<p><a href="javascript:nodes2()">title要素参照</a></p>

「head要素参照」で、head要素内の0番目の子ノードのnodeNameプロパティの値を表示します。「title要素参照」で、title要素のtextプロパティの値とchildNodes.lengthプロパティの参照値を表示します。

実行結果

UAnodeNametextchildNodes.length
Moz1.0METAhead要素のchildNodes.item(0)が必ずtitle要素になる1
WinIE6.0TITLEhead要素のchildNodes.item(0)が必ずtitle要素になる0

修正状況

WinIE6.0でも同様の結果になります。

関連記事

スポンサーリンク

fsck ファイル・システムの検査と修復を行う

ホームページ製作・web系アプリ系の製作案件募集中です。

上に戻る