封装getbyclass方法怎么理解

来源:4-1 [DOM事件] QQ面板拖拽效果(上)

HackerX

2016-04-23 09:25

for前面那一段勉强能看懂,for下面那一段,到push哪里就懵了。会的朋友有空的话,详细地给我解析吧,拜托了~!我会采纳详细通俗易懂的答复的

写回答 关注

2回答

  • mumuyu0712
    2016-05-02 20:48:31
    已采纳

    function getByClass(clsName,parent){  //clsName指代的是要获得的元素的classname,parent指代的是要获得元素的父元素,这里是通过父元素找到classname为指定的clsName的子代元素,从而获得指定的子代元素,并对此子代元素进行后续的操作。

    var oParent=document.getElementById(parent), //  通过ID获得父元素

        elems=[],   //用来存放获取的所有子代元素

        elements=Oparent.getElementByTagName('*');   //获取父元素后的所有子代元素

        for(var i=0,len=elements.length;i<len;i++){  //通过遍历数组elements中的所有元素,找到classname为指定的clsName的元素

            if(elements[i].classname==clsName){

                elems.push(elements[i]);     //将元素保存到数组中

    }

    }

    return elems;   //当调用这个函数时,获得的就是想得到的元素了。

    }

    rainy_... 回复Dream0...

    因为在CSS中, classname可以有很多个, 一个类的样式, 可以用在无数个DIV或者span,或者任何一个元素中

    2016-10-24 16:42:48

    共 3 条回复 >

  • 慕粉3242770
    2016-04-23 10:14:52

    判断元素的className是否为clsName,如果是,则将它加入eles的数组,不是则不加。最后返回eles这个数组吧。

DOM事件探秘

DOM事件?本课程会通过实例来给小伙伴们讲解如何使用这些事件

99532 学习 · 1298 问题

查看课程

相似问题