0

ルート要素の子ノードにアクセスしようとしていますが、返される要素がすべて「未定義」であるため、返される配列を含めてアクセスできません。

<html>
<head>
    <script>
        function dothis()
        {
        var elements = document.getElementsByTagName("body").parentNode.childNodes;
        alert(elements.length);
        }
    </script>
</head>
<body onload="dothis();">
    <p>Welcome</p>
    <ul>
        <li>hello</li>
    </ul>
</body>

</html>​

http://jsfiddle.net/PrPPM/1/

4

1 に答える 1

1

getElementsByTagNameを返しますNodeList(仕様によると。Firefoxなどの一部のブラウザでは、を返すと思いますHTMLCollection)。いずれにせよ、返されるのは配列のようなオブジェクトです。特定のインデックスで要素にアクセスする必要があります。

var elements = document.getElementsByTagName("body")[0].parentNode.childNodes;
于 2012-05-04T12:52:44.297 に答える