私は DOM を徹底的に理解することに取り組んできました。現在、私は DOM ツリーをたどっていますが、いくつかの矛盾を見つけているようです。
- nodeList では、インデックスを使用してリストを反復処理できます
- HTMLElement ではインデックスを使用できません
例については、このフィドルを参照してください: http://jsfiddle.net/AmhVk/4/
問題は、nodeList には element[0]、element 1のようなインデックス可能なリストがあり、HTMLElement にはないのはなぜですか?
誰かが私にこれを非常に徹底的に説明できますか? どうも...
<ul id="jow">
<li><a href="">Item</a></li>
<li><a href="">Item</a></li>
<li class="active"><a href="">Item</a></li>
<li class="active"><a href="">Item</a></li>
<li><a href="">Item</a></li>
<li><a href="">Item</a></li>
</ul>
<div id="ieps"></div>
function simple(){
var li = document.querySelectorAll(".active");
var ul = li[0].parentNode;
var getULchild = ul.children[0];
var ieps = document.getElementById("ieps");
ieps.innerHTML += "ul will return = " + ul + "<br>";
ieps.innerHTML += "li will return = " + li + "<br><br>";
ieps.innerHTML += "ul[0] will return: " + ul[0] + "<br>";
ieps.innerHTML += "li[0] will return: " + li[0] + "<br><br>";
}
また、フィドルで、クラス「アクティブ」を含むliの1つを削除すると。これは、単一の HTMLElement ではなく nodeList を返します: jsfiddle.net/AmhVk/5