您的位置:首页 > Web前端 > JavaScript

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

2016-06-12 15:01 274 查看
在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);  //获得相邻元素数组
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: