js 兼容nextSibling

找下一兄弟节点的兼容问题:

FF会将空白、换行等文本信息也当做childNodes中的一员,而IE则会忽略它们,只将DOM节点当做是childNodes的一员。

function getNextNode(node){
	node=typeof node=="string"?document.getElementById(node):node;
	var nextNode=node.nextSibling;
	if(!nextNode)return null;
	if(!document.all){  //FF不识别document.all
		while(true){
			if(nextNode.nodeType==1){
				break;
			}else{
				if(nextNode.nextSibling){
					nextNode=nextNode.nextSibling;
				}else{
					break;
				}
			}
		}
	}
	return nextNode;
}

 

posted @ 2012-03-10 10:44  xngeer  阅读(513)  评论(0编辑  收藏  举报