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:获取父元素,不存在兼容性问题。

  • 相关阅读:
    Activity具体解释(生命周期、以各种方式启动Activity、状态保存,全然退出等)
    StringBuffer和StringBuilder使用方法比較
    python 多线程编程
    八大排序算法总结
    腾讯面试
    顶尖的个人作品集站点设计赞赏
    MATLAB新手教程
    ThreadPoolExecutor使用介绍
    linux diff具体解释
    Android借助Application重写App的Crash(简易版)
  • 原文地址:https://www.cnblogs.com/ranyonsue/p/7843265.html
Copyright © 2011-2022 走看看