zoukankan      html  css  js  c++  java
  • JS获取DOM元素

    1、childNodes:获取子节点,不同浏览器表现不同;
      IE:只获取元素节点;
      非IE:获取元素节点与文本节点;
      解决方案:if(childNode.nodeName=="#text") continue 或者 if(childNode.nodeType != '3') continue

    2、children:获取元素子节点,浏览器表现相同。
    因此建议使用children。

    childNodes返回的是节点的子节点集合,包括元素节点、文本节点还有属性节点。
    children返回的只是节点的元素节点集合,所以返回的只有span元素。

    3、firstChild与firstElementChild
      相同点:获取父节点下的第一个节点对象;
      不同点:1、firstchild:IE6,7,8:第一个元素节点;
          非IE6,7,8:第一个节点,文本节点或者元素节点;
          2、firstElementChild:IE6,7,8:不支持;
              非IE6,7,8:第一个元素节点;
    function firstChild(obj){
    if(obj.firstElementChild) return obj.firstElementChild;
    return obj.firstChild
    }
    4、lastChild与lastElementChild
      相同点:获取父节点下的最后一个节点对象;
      不同点:1、lastchild:IE6,7,8:最后一个元素节点;
         非IE6,7,8:最后一个节点,文本节点或者元素节点;
         2、lastElementChild:IE6,7,8:不支持;
         非IE6,7,8:最后一个元素节点;

    5、nextSibling与nextElementSibling
      相同点:获取后一个兄弟节点对象;
      不同点:1、nextSibling:IE6,7,8:后一个兄弟元素节点;
          非IE6,7,8:后一个兄弟节点,文本节点或者元素节点;
          2、lastElementChild:IE6,7,8:不支持;
          非IE6,7,8:后一个兄弟元素节点;

    6、previousSibling与previousElementSibling
      相同点:获取前一个兄弟节点对象;
      不同点:1、previousSibling:IE6,7,8:前一个兄弟元素节点;
          非IE6,7,8:前一个兄弟节点,文本节点或者元素节点;
          2、previousElementChild:IE6,7,8:不支持;
          非IE6,7,8:前一个兄弟元素节点;

    7、parentNode:获取父元素,不存在兼容性问题。

  • 相关阅读:
    MD5算法--网盘秒传
    无线网络定位算法综述
    android学习---异步任务(AsyncTask)
    python中局部变量的定义
    python3里函数怎么样使用元组或字典作为参数调用(复制他人博客)
    调试exynos4412—ARM嵌入式Linux—LEDS/GPIO驱动之一
    Linux入门之——安装虚拟机软件
    Linux学习方法之以始为终—Linux工作分类
    Linux基础系列—Linux内核源码目录结构
    Linux基础系列—Linux体系结构和Linux内核结构
  • 原文地址:https://www.cnblogs.com/ranyonsue/p/7843265.html
Copyright © 2011-2022 走看看