原生JS查找相邻元素——siblings方法

来源:互联网 发布:软件开发证书含金量 编辑:程序博客网 时间:2024/05/22 08:23

在JQuery中可以很方便地用 elem.siblings() 方法实现查找相邻元素,但在JS中并没有这样的方法,可以用previousSibling和nextSibling结合来实现。

不过在JS中用获取node的方法会有意想不到的多余的空文本,所以需要加入判断条件来判断元素类型。nodeType==1,表示是元素节点。

代码如下:

function siblingElems(elem){

        var nodes=[ ];

        var _elem=elem;

       while((elem=elem.previousSibling)){

              if(elem.nodeType==1){

                     nodes.push(elem);

              }

       }

       var elem=_elem;

      while((elem=elem.nextSibling)){

              if(elem.nodeType==1){

                     nodes.push(elem);

              }

       }

}

使用如下:

var el=document.getElementById("ele");

var sib=siblingElems(el);  //获得相邻元素数组

0 0
原创粉丝点击