单击body内部以使用jQuery删除类

时间:2014-01-02 15:17:33

标签: jquery

我有一个手风琴风格的菜单,我想要做的是在点击body标签内的任何位置时删除open类,以便它折叠。我有代码但不起作用,在Chrome中出现以下错误:

  

未捕获TypeError:对象没有方法'hasClass'

代码:

var toggleMainNav = function ($mainNav) {
    var isOpen = $mainNav.hasClass('open');

    if (isOpen) {
        $('body').unbind('click');
        $mainNav.removeClass('open');
    } else {
        $('body').bind('click', toggleMainNav);
        $mainNav.addClass('open');
    }
};

2 个答案:

答案 0 :(得分:1)

使用toggleClass

$("body").click(function(){
      $mainNav.toggleClass("open");
    }); 

答案 1 :(得分:0)

当您想要使用jQuery对象时,您似乎正在使用DOM元素。

以jQuery样式包装变量:

$($mainNav).hasClass("open");