ie和firfox获取上一个或下一个兄弟元素
在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