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

  • 相关阅读:
    LeetCode 剑指offer 面试题05. 替换空格
    WebSocket整合SSM(Spring,Struts2,Maven)
    Eclipse常用20个快捷键
    JDK、JRE、JVM三者间的联系与区别
    Java集合框架详解(全)
    Java开发环境配置(Jdk、Tomcat、eclipse)
    Java面向对象概述及三大特征(封装,继承和多态)
    程序员之歌
    UML2.0最新版入门图解
    java单元测试,ssh(spring,struts2,hibernate)框架整合junit4
  • 原文地址:https://www.cnblogs.com/ranyonsue/p/7843265.html
Copyright © 2011-2022 走看看