javascript中的childNodes与children

本文详细解析了JavaScript中DOM操作的关键方法,包括childNodes与children的区别、firstChild与firstElementChild等节点选择器的不同之处,并介绍了parentNode、offsetParent等属性的用法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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:获取离第一个定位父元素的上距离;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值