if语句无法运行

时间:2013-02-01 22:29:53

标签: jquery if-statement

我有一个if语句似乎没有完全奏效,我不完全确定为什么,并且想知道是否有人看到了我没有的东西

$(".nav_btn, .bow_nav_btn").click(function () {
    var jthis = this;

    if ($(jthis).hasClass("bow_nav_btn")) {
        $('.bow_nav_btn').removeClass('bow_nav_selected');
        $('.bow_nav_btn').addClass('bow_nav_unselected');
        $(this).removeClass('bow_nav_unselected');
        $(this).addClass('bow_nav_selected');
    } else if ($(jthis).hasClass("bow_unselect")) {
        $("bow_nav").slideUp();
    } else($(jthis).hasClass("bow_select")) {
        $("bow_nav").slideDown();
    }
});

3 个答案:

答案 0 :(得分:2)

您的上次else应该是else if ,您应该删除该条件并将其写为:

else {
   //snip
}

答案 1 :(得分:2)

您最近似乎也有无效的选择器,以及已经提到的else if问题。

整个代码应该类似于:

$(".nav_btn, .bow_nav_btn").click(function () {
    var jthis = this;

    if ($(jthis).hasClass("bow_nav_btn")) {
        $('.bow_nav_btn').removeClass('bow_nav_selected');
        $('.bow_nav_btn').addClass('bow_nav_unselected');
        $(this).removeClass('bow_nav_unselected');
        $(this).addClass('bow_nav_selected');
    } else if ($(jthis).hasClass("bow_unselect")) {
        $(".bow_nav").slideUp(); // <-- .bow_nav instead of just bow_nav
    } else if($(jthis).hasClass("bow_select")) { //<-- aded if to else
        $(".bow_nav").slideDown(); // <-- .bow_nav instead of just bow_nav
    }
});

答案 2 :(得分:1)

您在最终if子句中似乎缺少else个关键字。

} else($(jthis).hasClass("bow_select")) {

应该是:

} else if ($(jthis).hasClass("bow_select")) {