问答详情
源自:9-11 访问兄弟节点

可以帮忙解读下这个函数ma ?

    function get_previousSibling(n){

        var a=n.previousSibling;

        while (a && a.nodeType!=1)

        {

            a=a.previousSibling;    

        }

        return a;

    }

求大神帮忙解读


提问者:飞飞大大 2015-09-11 22:21

个回答

  • Y习惯你管
    2015-09-18 16:13:49

        function get_previousSibling(n){   //定义一个函数get_previousSibling参数是n

            var a=n.previousSibling;        //定义一个函数内部变量 a  并把n.previousSibling  参数所代表的元素前面的兄弟元素

            while (a && a.nodeType!=1)   //判定a的元素类型是不是等于1

            {

                a=a.previousSibling;    //如果判定a的元素类型不是1。 则把自身之前的兄弟元素 赋值给自身。此时的a已经变成它之前的兄弟元素了。

            }

            return a;   //让函数的返回值是a。

        }


  • 琦屹
    2015-09-12 15:44:15

     function get_previousSibling(n){  

            // previousSibling 属性返回元素之前紧接的节点(处于同一树层级中)。

            // 如果无此节点,则该属性返回 null。


            // 获取到n前面紧接着的元素(相当于前面相邻的一个兄弟节点)

            var a=n.previousSibling;


           // nodeType=1 :返回元素节点

            // nodeType=2 :返回属性节点

            // nodeType=3 :返回文本节点

            // nodeType=8 :返回注释..

            // nodeType=9 :返回文档..

       

            // 如果这个元素存在,并且节点的类型不为1时,就进循环

            while (a && a.nodeType!=1)

            {

                a=a.previousSibling;    

            }

            // 返回a

            return a;

        }