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 都是实时的,意味着文档结构的变化会实时地在它们身上反映出来。