HTML中childNodes和children有什么区别?
- Node:在 DOM 树中,所有的节点都是 Node,也就是说 Node 包含了 HTML 元素标签、文本、以及注释等等内容,它是所有 DOM 的基类。
- Element:Element 是所有 HTML 标签的基类,也就是说 Element 只包含 HTML 元素标签。
Node 和 Element 两者是包含关系,Node 包含 Element。 从而衍生出了两个集合:NodeList 和 HTMLCollection。
- NodeList 是 Node 的集合(childNodes)。
- HTMLCollection 是 Element 的集合(children)。
虽然我们可以通过NodeType=1元素|2属性|3文本来辨别种类,但注释也会算进文本节点。