• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
邹天得
博客园    首页    新随笔    联系   管理    订阅  订阅
childeNodes与children

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

当节点前有换行,如下左文本框:

 

需要注意:

对于以上2中格式,同样一段代码如下:

var y=document.getElementsByTagName("LI")[0];

x.innerHTML=y.parentNode.childNodes.length;

在IE8下,左右两个文本,都是返回值为2;

在chrome和Firefox下,左边文本,返回值为5.右边文本,返回值为2;

如果要获取某个节点的内容,最好不要直接使用下标的方式,如x.innerHTML=y.parentNode.childNodes[1].innerHTML;,最好采取的方法有2种。

方法一:利用nodeType先判断下节点类型,代码参考如下:

 

方法二:children 属性,非标准的,它返回指定元素的子元素集合。经测试,它只返回HTML节点,甚至不返回文本节点。y.parentNode.children.length;返回的值在IE8、chrome和Firefox下都是2。

posted on 2017-07-06 19:38  邹天得  阅读(166)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3