DOM元素中childNodes与children这两个属性都是用来获取元素上都有哪些孩子节点/元素,所以它们的目标是一致的,但是在一些方面还是有区别的。
兼容性
childNodes > children,我是看谁的红色块的多,但是差异基本可以忽略不计。
数据来源:
https://caniuse.com/mdn-api_node_childnodes
https://caniuse.com/mdn-api_element_children
获取的范围
childNodes可以获取到所有的节点集合(包括文本节点),而children则无法获取到文本节点,其他的同childNodes一样。
使用上
childNodes可以使用数组的forEach
方法,而children则需要把获取的结果,转为数组(k可以使用Array.from
方法),才可以使用。