0

混乱が多く、答えはほとんどありません。ID で特定のノードを探して DOM をループしようとしていますが、このコードには説明のつかない問題がいくつかあります。まず、childNodes リストの長さが「5」になります。2 つの「ul」、2 つの「id」、それらがカウントされる場合...そして 1 つが運のためですか?

次に、 で死ぬif(y[i].hasAttribute('id')===true)。Firebug によると、これは関数ではありません。信じない理由はありませんが、なぜそうでないのかわかりません。

助けてくれてありがとう。

<div id="list">
<ul id="first"></ul>
<ul  id="second"></ul>
</div>
    <script>
        var comments=document.getElementById('list')
                        var y=comments.childNodes;
                        var count=y.length
                        for(i=0;i<count;i++)
                        {
                            document.write(y.length);
                            if(y[i].hasAttribute('id')===true)
                            { document.write('here!');}

                        }
    </script>
4

2 に答える 2

0

Firebug などのツールを使用して DOM 自体を検査すると、要素のすべての子と、 .children と .childNodes の違いが表示されます。

DOM を調べてみると、最初は互いに重複しているように見えても、実際にはそうではないものが非常に多く存在する理由がわかりました。Mozilla 開発者サイト developer.mozilla.org にも豊富な情報があります。

于 2013-07-15T18:04:01.973 に答える