jQuery - 如果一个类出现在DOM上,然后单击包装器再次删除该类

时间:2014-07-17 03:15:22

标签: javascript jquery html5 css3 navigation

我要做的是检查一个类是否与hasClass一起处于活动状态。如果它处于活动状态,然后单击包装器,则再次从包装器中删除该类。

这是我要删除课程的内容:

 $(function() {
    $('.toggle-nav').click(function() {
        // Calling a function in case you want to expand upon this.
        toggleNav();

        $('#site-wrapper.show-nav').click(function (){
            $(this).removeClass('show-nav');
        });
        console.log('it worked');
    });
});

但是这段代码只要点击它就会删除它,而不检查"如果"它存在。即使它不存在,也会删除它。

3 个答案:

答案 0 :(得分:0)

在click函数中有if语句

    $('#site-wrapper').click(function (){
       if ($('#site-wrapper').hasClass('show-nav')) {
         $('#site-wrapper').removeClass('show-nav');
       }
    })

答案 1 :(得分:0)

试试这个:

$('#site-wrapper').click(function () {
    if ($(this).hasClass('show-nav')) {
        $(this).removeClass('show-nav');
    } else {
        $(this).addClass('show-nav');
    }
});

<强> JSFiddle Demo

答案 2 :(得分:0)

    $('#site-wrapper.show-nav').click(function (){
        $(this).removeClass('show-nav');
    });