1、childNodes:获取节点,不同浏览器表现不同;

  IE:只获取元素节点;

  非IE:获取元素节点与文本节点;

  解决方案:if(childNode.nodeName=="#text") continue 或者 if(childNode.nodeType != '3') continue

2、children:获取元素节点,浏览器表现相同。

  因此建议使用children。

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与nextElementChild

  相同点:获取后一个兄弟节点对象;

  不同点:1、nextSibling:IE6,7,8:后一个兄弟元素节点;

               非IE6,7,8:后一个兄弟节点,文本节点或者元素节点;

      2、lastElementChild:IE6,7,8:不支持;

                  非IE6,7,8:后一个兄弟元素节点;

6、previousSibling与previousElementChild

  相同点:获取前一个兄弟节点对象;

  不同点:1、previousSibling:IE6,7,8:前一个兄弟元素节点;

               非IE6,7,8:前一个兄弟节点,文本节点或者元素节点;

      2、previousElementChild:IE6,7,8:不支持;

                  非IE6,7,8:前一个兄弟元素节点;

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

8、offsetParent:获取第一个设置定位的父元素;

offsetLeft:获取离第一个定位父元素的左距离;

offsetTop:获取离第一个定位父元素的上距离;

javascript中childNodes与children的区别的更多相关文章

  1. JavaScript中childNodes和children的区别

    我在学习JavaScript对DOM操作的过程中,发现了使用childNodes属性,得不到我想要的结果,因此我就从JavaScript高级程序设计中了解了childNodes和children的区别 ...

  2. Javascript 中childNodes和children的区别

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...

  3. JavaScript中childNodes、children、nodeValue、nodeType、parentNode、nextSibling详细讲解

    其中属性.元素(标签).文本都属于节点 <title></title> <scripttype="text/javascript"> windo ...

  4. js表单验证处理和childNodes 和children 的区别

    一.对提交表单进行空值验证 html代码: <form action="#"onsubmit="return validate_form(this);" ...

  5. JavaScript中:表达式和语句的区别

    JavaScript中:表达式和语句的区别 Javascript语言精粹:表达式是由运算符构成,并运算产生结果的语法结构.程序是由语句构成,语句则是由“:(分号)”分隔的句子或命令.如果在表达式后面加 ...

  6. JavaScript中Element与Node的区别,children与childNodes的区别

    关于Element跟Node的区别,cilldren跟childNodes的区别很多朋友弄不清楚,本文试图让大家明白这几个概念之间的区别. Node(节点)是DOM层次结构中的任何类型的对象的通用名称 ...

  7. Javascript中setTimeout和setInterval的区别和使用

    在javascript中,window对象有两个主要的定时方法,分别是setTimeout 和 setInterval,其语法基本上相同,但是完成的功能取有区别. setTimeout方法是定时程序, ...

  8. JavaScript 中 Property 和 Attribute 的区别详解

    property 和 attribute非常容易混淆,两个单词的中文翻译也都非常相近(property:属性,attribute:特性),但实际上,二者是不同的东西,属于不同的范畴. property ...

  9. javascript中typeof与instanceof的区别

    JavaScript 中 typeof 和 instanceof 常用来判断一个变量是否为空,或者是什么类型的.但它们之间还是有区别的: typeof typeof 是一个一元运算,放在一个运算数之前 ...

随机推荐

  1. swift 动画

    // //  ViewController.swift //  Anamation // //  Created by su on 15/12/9. //  Copyright © 2015年 tia ...

  2. CentOS 6.6 MySQL 8.0详细安装步骤

    1.备份服务器上MySQL数据库 [root@localhost ] # mysqldump -h localhost -u root -proot --databases Surpass --rou ...

  3. 查看WEB ADI所对应的包过程函数

    SELECT BNEINTERFACESBEO.APPLICATION_ID       , BNEINTERFACESBEO.INTERFACE_CODE       , BNEINTERFACES ...

  4. Head First iOS Programming

    内部分享: Head First iOS Programming http://www.slideshare.net/tedzhaoxa/head-first-ios-programming-4606 ...

  5. (转)可以一同使用 DISTINCT 和 COUNT 关键词,来计算非重复结果的数目。

    点击收看

  6. sql 常用基础查询

    *查询第一条记录:select   top   1   *   from   tablename *随机查询N条记录:select top N * from table order by newid( ...

  7. Js 事件详解

    1.事件流 1.1 事件流 描述的是在页面中接受事件的顺序 1.2 事件冒泡 由最具体的元素接收,然后逐级向上传播最不具体的元素的节点(文档) 1.3 事件捕获 最不具体的节点先接收事件,而最具体的节 ...

  8. k8s service

    Service也是k8s的最小操作单元,是真实应用服务的抽象 Service通常用来将浮动的资源与后端真实提供服务的容器进行关联 Service对外表现为一个单一的访问接口,外部不需要了解后端的规模与 ...

  9. “全栈2019”Java异常第一章:什么是异常?

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java异 ...

  10. CentOS7.x安装时的分区方案

    -------------------------------------------------分区方案描述--------------------------------------------- ...