听起来好像您想得太多。你观察到的区别
childNodes和
children,这是一个
childNodes包含所有节点,包括完全由空白的文本节点,而
children只是对元素的子节点的集合。真的就是全部。
尽管有几个问题需要注意,但两个集合都没有不可预测的问题:
- IE <= 8不包含纯空白文本节点,
childNodes
而其他浏览器则包含 - IE <= 8内包含注释节点,
children
而其他浏览器仅包含元素
children,
firstElementChild而朋友只是方便,提供了仅限于元素的DOM过滤视图。



