取一个DOM元素的兄弟节点-仿jQuery的siblings方法,用原生JS代码完成

作者:日期:2011-07-21 22:23:23 点击:936

取一个DOM元素的兄弟节点,仿jQuery的siblings方法,用原生JS代码完成
function siblings(o){//参数o就是想取谁的兄弟节点,就把那个元素传进去

        var a=[];//定义一个数组,用来存o的兄弟元素

        var p=o.previousSibling;

        while(p){//先取o的哥哥们 判断有没有上一个哥哥元素,如果有则往下执行  p表示previousSibling

                if(p.nodeType===1){

                        a.push(p);

                }

                p=p.previousSibling//最后把上一个节点赋给p

               

        }

        a.reverse()//把顺序反转一下 这样元素的顺序就是按先后的了
 
   var n=o.nextSibling;//再取o的弟弟

        while(n){//判断有没有下一个弟弟结点 n是nextSibling的意思

                if(n.nodeType===1){

                        a.push(n);

                }

                n=n.nextSibling;

        }

   return a//最后按从老大到老小的顺序,把这一组元素返回

       

}
 

上一篇: 获取一个元素在一组元素中的索引号-仿jquery的index方法

下一篇: 三元运算符是什么--javascript基础知识