由于firefork浏览器在对nextSibling进行处理的时候,会把空白也当作节点。而IE不会。为了解决这个问题,方便调用,提供以下接口。下面是一个例子:
<html>
<head>
<meta charset="UTF-8">
<title>ie与其他浏览器的处理</title>
</head>
<body>
<ul>
<li id="item1"></li>
<li id="item2"></li>
<li id="item3"></li>
</ul>
<script>
function getNextNode(node){
node=typeof node=="string" ? document.getElementById(node) : node ;
var nodeNext = node.nextSibling;
if(!nodeNext) return null;
if(!document.all){
while(true){
if(nodeNext.nodeType == 1){
break;
}else{
if(nodeNext.nextSibling){
nodeNext = nodeNext.nextSibling;
}else{
break;
}
}
}
}
return nodeNext;
};
var item = getNextNode("item1");
alert(item.id);
</script>
</body>
</html>