NodeList和HtmlCollection的不同

2019-08-13  本文已影响0人  欣_m

1.NodeList实例对象是一个类数组对象,它的成员是节点对象。Node节点共有12种,Element元素节点只是其中一种。

动态集合:动态集合是指DOM结构的变化能够自动反映到所保存的对象中。

<div id="test"></div>

<script>

var childN = test.childNodes;

console.log(childN);    //[]test.appendChild(document.createElement('div'));

console.log(childN);   //[div]</script>

静态集合: NodeList并不都是动态集合,其中querySelectorAll()返回值就是静态集合NodeStaticList。

<div id="test"></div>

<script>var seles = test.querySelectorAll('div');

console.log(seles);//[]test.appendChild(document.createElement('div'));

console.log(seles);//[]console.log(test.querySelectorAll('div'));//[div]</script>

NodeList是类数组对象,并不是真正的数组对象,可以使用slice()方法将其变成真正的数组。

2.HTMLCollection集合主要是Element元素节点的集合。

HTMLCollection集合包括getElementsByTagName()、getElementsByClassName()、getElementsByName()等方法的返回值,以及children、document.links、document.forms等元素集合。

所有的HTMLCollection对象都是动态的。

上一篇 下一篇

猜你喜欢

热点阅读