处理浏览器的兼容问题之nextSibling

来源:互联网 发布:国家药品食品数据查询 编辑:程序博客网 时间:2024/06/04 23:25

由于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>
0 0