使用三元运算符返回不起作用

时间:2014-02-25 02:57:03

标签: javascript jquery

我最初有类似的东西:

<div class=""></div>

$(function () {
    $("div").on("click", function () {
        $(this).addClass(function () {
            if ($(this).hasClass("")) {
                return "scale";
            } else {
                return "";
            }
        });
    });
});

然后尝试使其更简单,但是收到错误:

  

未捕获的SyntaxError:意外的令牌返回

<div class=""></div>

$(function () {
    $("div").on("click", function () {
        $(this).addClass(function () {
            $(this).hasClass("") ? return "scale" : return ""; 
        });
    });
 });

我尝试将整个语句包装在括号中并使用一个返回值,但我仍然收到相同的错误。

我在这里做错了吗?

2 个答案:

答案 0 :(得分:4)

你可以这样做:

$(function () {
    $("div").on("click", function () {
        $(this).addClass(function () {
            return $(this).hasClass("") ? "scale" : "";
        });
    });
});

答案 1 :(得分:1)

应该是

$(function () {
    $("div").on("click", function () {
        $(this).addClass(function () {
            return $(this).hasClass("") ? "scale" : "";
        });
    });
});