firefox的dom和ie下的dom (previousSibling,nextSibling)

本文探讨了Internet Explorer与Firefox在处理DOM节点时的不同表现,特别是针对previousSibling和nextSibling属性的解释差异。通过对比两种浏览器的行为,提出了两种解决方案来实现跨浏览器一致的节点获取。

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

在ie中对其中的document.getElementById("ID_Size ").previousSibling 或nextSibling 得到的都是element(节点);而在firefox中得到的是text类型(“/n         ”),在这个级别上,理解完全不一样。或者说,firefox 中的tree是只node级别,而ie中是element级别?

 

firefox 解释:

previousSibling:The node immediately preceding the given one in the tree, or null if there is no sibling node.

nextSibling :The node immediately following the given one in the tree, or null if there is no sibling node.

ie解释:

previousSibling:Retrieves a reference to the previous child of the parent for the object. 获取对此对象的上一个兄弟对象的引用。

nextSibling :Retrieves a reference to the next child of the parent for the object.获取对此对象的下一个兄弟对象的引用。

-------------------------------------------------------------------------

解决方案一

函数

nextSibling,previousSibling

说明:获取下一个或上一个的兄弟节点

在IE下会忽略回车和换行。FF下不会忽略。

所有我们可以用递归来解决浏览器的差异。

do {

td = td.nextSibling;

} while (td.nodeType != 1)

nodeType = 3是文本节点

nodeType = 1是html节点

----------------------------------------------------------------

解决方案二

w3c  有previousSibling,nextSibling  ie下上一个元素,下一个元素,

而firefox 不是这个意思可以由它自己的方法代替previousElementSibling,nextElementSlibing

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值