博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
小tips:JS中的children和childNodes
阅读量:6542 次
发布时间:2019-06-24

本文共 632 字,大约阅读时间需要 2 分钟。

childNodes 属性

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

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

IE6/7/8/Safari/Chrome/Opera 支持

IE9/Firefox 不支持

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

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

children 属性

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

转载地址:http://vjodo.baihongyu.com/

你可能感兴趣的文章
正当防卫2 渲染技术
查看>>
[非常短]iOS开发入门教程
查看>>
【css】浏览器的各种 bug
查看>>
C# 抽象类
查看>>
组合模式(Composition)
查看>>
线性选择算法
查看>>
Unicode 5.0.0
查看>>
算法导论第二章 习题作业记录
查看>>
Javascript:必须知道的Javascript知识点
查看>>
是不是服务器配置越牛X重启时间就越短?
查看>>
Android手机无法使用debug解决方法
查看>>
电脑快捷键
查看>>
oracle 11g jdbc jar包在哪个文件目录
查看>>
新款macbook安装 和 驱动Boot Camp
查看>>
大于2GB的Listener.log和运行超过198天的主机上的Oracle实例
查看>>
异常:HRESULT: 0x80070057 (E_INVALIDARG)解决方案
查看>>
php常用函数
查看>>
参数化查询为什么能够防止SQL注入
查看>>
Google Protocol Buffers 概述
查看>>
GUID-1
查看>>