从element与node看node.childNodes和node.children 区别

210 阅读1分钟

node.childNodes和node.children 区别

  1. children返回HTMLCollection,是一个动态集合,随dom树更新。childNodes返回的NodeList不会
  2. children返回的只是元素节点,childNodes还包括文本节点等等
  3.  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