hasClass不是一个函数

时间:2016-06-16 21:40:49

标签: javascript jquery

我正在编写一个简单的jquery代码来动画我页面上的元素:

CURENT

 $('#tgs-nav-icon').on('click', function() {
    var $nav = (".canvas-menu-content");
    var bounceInRight = "bounceInRight animated";

    if(! $nav.hasClass(bounceInRight) ) {
        $nav.addClass(bounceInRight);
    }
    else {
        $nav.removeClass(bounceInRight);
    }

});

未捕获的TypeError:nav.hasclass不是函数

我试过测试一下,看看我哪里出错了,这段代码应该是假的,应该是:

var help = $( ".canvas-menu-content" ); 
console.log(help.hasClass("foo"));

我无法弄清楚为什么if语句会给我带来错误。

我尝试过做一些研究,但以前的问题似乎都没有回答我的问题。

1 个答案:

答案 0 :(得分:2)

您将$nav分配给字符串" .canvas-menu-content"这里:

var $nav = (".canvas-menu-content");  // $nav is now '.canvas-menu-content'

将其分配给jQuery对象:

var $nav = $(".canvas-menu-content"); // $nav is now a jQuery object containing all 
                                      // elements with class canvas-menu-content