例: ul の下にあるすべての li 要素を取得した場合。または、それが要素の次の要素である場合。この厄介なスペースの問題に遭遇する可能性があります。もちろん、これらのスペースは IE ブラウザで自動的にフィルタリングされます。一方、FFはそれほど勤勉ではありません。 FF ブラウザはこれらのスペースを要素として扱います。 Dom 内のスペース要素について混乱している場合は、次のコードを実行してください。テストには少なくとも 2 つのブラウザ (IE と FF) を使用してください。あなたはすべてを理解するでしょう!
Dom ;body>
このコードを実行した後。 IE に 3. のポップアップが表示されます。 FF7にポップアップします。
html
dom< ;/li>
<script> <br>var list_child = list.childNodes; <br>alert("ol にはそれぞれ "list_child.length" 要素があります"); <br>for(var i = 0; i<list_child.length i>alert(list_child) の子要素[i].tagName); <br></script>
ol 要素内のすべての子要素を取得します。そして、ol でいくつかのサブ要素をポップアップします。 ol には 3 つの li 要素が含まれていることがわかります。 3 IE にポップアップが表示されます。これは正しいです。では、なぜ FF ブラウザや Chrome ブラウザに 7 が表示されるのでしょうか? 実際、コードを書くとき。エレメントとエレメントラップの間にスペースが形成されます。 (注: 改行を入力することでスペースができるとは考えないでください。これは間違いです。つまり、要素間のスペースは、行を何百回も変更するだけで意味します。これもスペースとしてカウントされます) ) FF および Chrome ブラウザでは、これらのスペース要素はフィルタリングされません。したがって、7 をポップアップするのも正しいです。
以下では同じ HTML 構造を使用します。これらのスペース要素をフィルターして削除する方法を示すには、
コードをコピーします。
コードは次のとおりです。
/title>