zoukankan      html  css  js  c++  java
  • childNodes和Children的区别

    1、childNodes:

    标准的,返回指定元素的子元素集合,包括HTML属性,所有属性,文本。可以通过nodeType来判断是哪种类型的节点,只有当nodeType==1时才是元素节点,2是属性节点,3是文本节点。

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

      IE6/7/8/safiri/chrome/Opera IE9/FireFox
    childNodes(i) 支持 不支持

    有时候需要获取指定元素的第一个HTML子节点(非属性/文本节点),最容易想到的就是firstChild 属性。代码中第一个HTML节点前如果有换行,空格,那么firstChild返回的就不是你想要的了。可以使用nodeType来判断下。

    1 function getFirst(elem){
    2     for(var i=0,e;e=elem.childNodes[i++];){
    3         if(e.nodeType==1)
    4             return e;
    5     }      
    6 }

    2、children:

    非标准的,它返回指定元素的子元素集合。经测试,它只返回HTML节点,甚至不返回文本节点。且在所有浏览器下表现惊人的一致。和childNodes 一样,在Firefox下不支持()取集合元素。因此如果想获取指定元素的第一个HTML节点,可以使用children[0]来替代上面的 getFirst函数。需注意children在IE中包含注释节点。

  • 相关阅读:
    多线程中注意事项
    多线程实现第三种方式
    线程池《一》
    线程组
    线程间通信注意的问题
    互斥锁
    多个线程通信的问题
    二个线程间的通信
    死锁产生的原理
    线程安全问题
  • 原文地址:https://www.cnblogs.com/ao-xiang/p/5506151.html
Copyright © 2011-2022 走看看