children 和childNodes 的区别

1:childNodes /children相同点:它返回指定元素的子元素集合

2:区别:children :  它是非标准的,仅返回HTML节点。甚至不返回文本节点。所有浏览器表现一 致。

childNodes :它是标准的,返回包括HTML节点,所有属性,文本。可以通过nodeType来判断是哪种类型的节点, 当nodeType==1是元素节       点,2是属性节点,3是文本节点。

js操作document时,试图使用childNodes取得Div节点的Div子节点,IE浏览器中没有任何问题,
 而FF浏览器会将TEXT_NODE类型的节点同样计入子节点,这样就会操作到错误的对象。可以在循环中添加if(obj.nodeType==3){continue;}else{do something...}来兼容。

有些人错误的使用()去取该集合元素,下表列出各浏览器对childNodes(i)的支持情况:

  IE6/7/8/Safari/Chrome/Opera IE9/Firefox
childNodes(i) 支持 不支持
上一篇:13个可实现超棒数据可视化效果的Javascript框架


下一篇:Spring Data JPA 简单查询--接口方法