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. 图形查询属性(IdentifyTask实现查询)//查询本地服务

    主页代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <tit ...

  2. UILabel 字体下方加下划线

        UILabel *knowKankan = [[UILabel alloc] initWithFrame:CGRectMake(0, MAINHEIGHT - 78 , MAINWIDTH, ...

  3. 4D(DLG,DRG,DOM,DEM)

    基于“倾斜+LiDAR+车载”的实景三维建模实现:链接 MapGIS数据可不可以做到数据融合 遥感影像

  4. handsontable-integrations

    jquery:可以通过$选择元素 bootstrap:使用bootstrap,有些样式需要重置 backbone:整合

  5. CAS实战のclient自定义过滤器

    我们在配置cas client肯定写过如下代码: <filter> <filter-name>CASFilter</filter-name> <filter- ...

  6. 咏南中间件新增SQL日志

    为了方便开发时跟踪调试SQL语句的执行情况,咏南中间件新增SQL日志,所有执行过的SQL都会写入SQL日志文件中. SQLDEBUG设为1,启用:设为0,停止写SQL日志.

  7. leetcode 验证回文串

    给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写. 说明:本题中,我们将空字符串定义为有效的回文串. 示例 1: 输入: "A man, a plan, a c ...

  8. Katalon Studio简单使用(二)

    距离上一篇更新katalon学习部分已有两个月的时间 ,我的博文的访问量为400多,(*^__^*) 嘻嘻…… 说明还是很多同学在学习这个小tools的.所以再记录下 近两个月来对katalon的体验 ...

  9. C博客第01次作业---顺序,分支结构

    1.本章学习总结 1.1 思维导图 1.2本章学习体会及代码量学习体会 1.2.1学习体会 经过了这一周的学习,从一开始对C语言一无所知,到现在能够写出基本的代码,感到非常开心. 学习C语言也并非想象 ...

  10. git删除未监视的文件

    新增的文件使用git status查看会提示Untracked files,如果想要删除Untracked files,可以使用如下命令: git clean -f # 删除Untracked fil ...