• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >JavaScript > children和childNodes 的区别

children和childNodes 的区别

作者:arvin_top的博客 字体:[增加 减小] 来源:互联网 时间:2017-08-26

arvin_top的博客通过本文主要向大家介绍了前端,javascript等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

1,childNodes 属性,标准的,它返回指定元素的子元素集合,包括HTML节点,所有属性,文本。可以通过nodeType来判断是哪种类型的节点,只有当nodeType==1时才是元素节点,2是属性节点,3是文本节点。

有些人错误的使用()去取该集合元素,下表列出各浏览器对childNodes(i)的支持情况:

  IE6/7/8/Safari/Chrome/Opera IE9/Firefox
childNodes(i) 支持 不支持

 

有时候需要获取指定元素的第一个HTML子节点(非属性/文本节点),最容易想到的就是firstChild 属性。代码中第一个HTML节点前如果有换行,空格,那么firstChild返回的就不是你想要的了。可以使用nodeType来判断下。

?

 

1 2 3 4 5 6 function getFirst(elem){     for(var i=0,e;e=elem.childNodes[i++];){         if(e.nodeType==1)             return e;     }       }

 

2,children 属性,非标准的,它返回指定元素的子元素集合。经测试,它只返回HTML节点,甚至不返回文本节点。且在所有浏览器下表现惊人的一致。和childNodes 一样,在Firefox下不支持()取集合元素。因此如果想获取指定元素的第一个HTML节点,可以使用children[0]来替代上面的getFirst函数。需注意children在IE中包含注释节点。

 

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 使用nodejs爬取前程无忧前端技能排行
  • 整理一些最近经常遇到的前端面试题
  • AngularJS之ionic 框架下实现 Localstorage本地存储
  • JavaScript实现前端实时搜索功能
  • 如何使用bootstrap框架 bootstrap入门必看!
  • nodejs个人博客开发第三步 载入页面
  • webpack2.0搭建前端项目的教程详解
  • 纯jQuery实现前端分页功能
  • 前端框架学习总结之Angular、React与Vue的比较详解
  • Javascript前端经典的面试题及答案

相关文章

  • 2017-05-11利用Query+bootstrap和js两种方式实现日期选择器
  • 2017-05-11JavaScript实现反转字符串的方法详解
  • 2017-05-11详解NodeJS框架express的路径映射(路由)功能及控制
  • 2017-05-11JS中利用localStorage防止页面动态添加数据刷新后数据丢失
  • 2017-05-11ionic2打包android时gradle无法下载的解决方法
  • 2017-05-11微信小程序 video详解及简单实例
  • 2017-05-11js 获取今天以及过去日期
  • 2017-05-11Vue响应式添加、修改数组和对象的值
  • 2017-05-11Jquery uploadify 多余的Get请求(404错误)的解决方法
  • 2017-05-11jQuery实现的省市联动菜单功能示例【测试可用】

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 详解AngularJS通过ocLazyLoad实现动态(懒)加载模块和依赖
    • JS正则截取两个字符串之间及字符串前后内容的方法
    • ES6实现的遍历目录函数示例
    • js制作可以延时消失的菜单
    • AngularJS改变元素显示状态
    • 详解打造 Vue.js 可复用组件
    • 微信小程序 九宫格实例代码
    • 微信小程序 登录的简单实现
    • jQuery html表格排序插件tablesorter使用方法详解
    • JS对象是否拥有某属性如何判断

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有