问答详情
源自:6-2 使用JS为元素class赋值

对象不支持addClass方法

用JS给元素addClass,removeClass  但是在浏览器运行时没有效果,控制台输出对象不支持addClass属性或方法

if (currentId){
   // 给正确的menu下得a元素赋值
   for(var j=0;j<menus.length;j++){
       var menu = menus[j];
       var _href = menu.href.split("#");
       if (_href[_href.length-1] != currentId){
           menu.removeClass("current");
       }else {
           menu.addClass("current");
       }
   }

}

提问者:NadiaSmile 2016-08-23 10:25

个回答

  • pluvieuse
    2016-08-23 12:13:41
    已采纳

    老师说原生JS里没有removeClass和addClass这个方法,要实现addClass方法的功能,需要构建一个addClass函数,

    function addClass(obj,cls){

    if (!hasClass(obj,cls)) {

    obj.className += " " +cls;

    }

    然后调用这个函数

    if (_href[_href.length-1] != currentId) {

    removeClass(_menu,"current");

    }else{

    addClass(_menu,"current");