问答详情
源自:6-3 使用JS实现函数

JS没有addclass等,直接用classname赋值不行吗?

JS没有addclass等,直接用classname赋值不行吗?

提问者:梦身 2015-07-22 08:18

个回答

  • 李小花花
    2017-11-08 13:51:52

    饿啊饿啊饿

  • qq_虫儿飞_1
    2015-12-22 13:47:02

    function hasClass(obj,cls){

    return obj.className.match(new RegExp("(\\s|^)"+cls+"(\\s|$)"));

    }

    function removeClass(obj,cls){

    if(hasClass(obj,cls)){ //如果有的话,我们才会去做remove这个动作

    var reg=new RegExp("(\\s|^)"+cls+"(\\s|$)");

    obj.className=obj.className.replace(reg,"");

    }

    }

    function addClass(obj,cls){

    if(!hasClass(obj,cls)){

    obj.className+=" "+cls;

    }

    }

    以上是老师原来的代码,换成下面的更简单

    function removeClass(obj,cls){

    if(obj.className==cls) obj.className="";

    }

    function addClass(obj,cls){

    if(obj.className!=cls) obj.className=cls;

    }


  • qq_虫儿飞_1
    2015-12-22 13:42:42

    直接赋值也可以


  • arlenhui
    2015-07-22 09:13:35

    className     js对大小写敏感