node.childNodes和node.children 区别
children
返回HTMLCollection
,是一个动态集合,随dom树更新。childNodes
返回的NodeList
不会- children返回的只是元素节点,childNodes还包括文本节点等等
- 即
children
得到的是Element
的属性,childNodes
得到的是Node
的属性
引申:element和node的区别
Node
(节点)是DOM层次结构中的任何类型的对象的通用名称,Node有很多类型,如元素节点,属性节点,文本节点,注释节点等,通过NodeType
区分Element
继承了Node
类,也就是说Element是Node多种类型中的一种,即当NodeType
为1时Node即为ElementNode,另外Element扩展了Node,Element拥有id、class、children等属性。
引申:对于getElementById与getElementByClassName
getElementById
返回element
对象getElementByClassName
返回动态的HTMLCollection