1

我有一个似乎不太有效的 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();
    }
});
4

3 回答 3

2

您的最后一个else应该是 anelse if 或者您应该删除条件并将其写为:

else {
   //snip
}
于 2013-02-01T22:33:01.570 回答
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
    }
});
于 2013-02-01T22:35:39.690 回答
1

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

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

应该:

} else if ($(jthis).hasClass("bow_select")) {
于 2013-02-01T22:33:27.730 回答