NodeList 和 HTMLCollection区别

NodeList是节点的集合,而HTMLCollection是元素的集合。

节点包括很多类型,文档节点,元素节点,属性节点,文本节点,这一点通过Node类型上的12个数值常量表示就可以看出。

Node.ELEMENT_NODE(1) 
Node.ATTRIBUTE_NODE(2) 
Node.TEXT_NODE(3) 
Node.CDATA_SECTION_NODE(4) 
Node.ENTITY_REFERENCE_NODE(5) 
Node.ENTITY_NODE(6) 
Node.PROCESSING_INSTRUCTION_NODE(7) 
Node.COMMENT_NODE(8) 
Node.DOCUMENT_NODE(9) 
Node.DOCUMENT_TYPE_NODE(10) 
Node.DOCUMENT_FRAGMENT_NODE(11) 
Node.NOTATION_NODE(12)
// 常用的获取DOM元素的接口及其返回的数据结合类型
Node.childNodes instanceof Nodelist

Node.chidren instanceof HTMLCollection

document.getElementByxxxx instanceof HTMLCollection

注意:NodeList,HTMLCollection,NamedNodeMap 都是实时的,意味着文档结构的变化会实时地在它们身上反映出来。