Javascript 使用三元运算符返回不起作用
我最初的想法是:Javascript 使用三元运算符返回不起作用,javascript,jquery,Javascript,Jquery,我最初的想法是: <div class=""></div> $(function () { $("div").on("click", function () { $(this).addClass(function () { if ($(this).hasClass("")) { return "scale"; } else { retu
<div class=""></div>
$(function () {
$("div").on("click", function () {
$(this).addClass(function () {
if ($(this).hasClass("")) {
return "scale";
} else {
return "";
}
});
});
});
$(函数(){
$(“div”)。在(“单击”)上,函数(){
$(this).addClass(函数(){
if($(this).hasClass(“”){
返回“刻度”;
}否则{
返回“”;
}
});
});
});
然后试图使它更简单,但我得到了一个错误:
未捕获的语法错误:意外的令牌返回
$(函数(){
$(“div”)。在(“单击”)上,函数(){
$(this).addClass(函数(){
$(this.hasClass(“”)返回“scale”:返回“”;
});
});
});
我尝试将整个语句包装在括号中并使用一个返回值,但仍然收到相同的错误
我在这里做错什么了吗?你可以做:
$(function () {
$("div").on("click", function () {
$(this).addClass(function () {
return $(this).hasClass("") ? "scale" : "";
});
});
});
你可以做:
$(function () {
$("div").on("click", function () {
$(this).addClass(function () {
return $(this).hasClass("") ? "scale" : "";
});
});
});
应该是
$(function () {
$("div").on("click", function () {
$(this).addClass(function () {
return $(this).hasClass("") ? "scale" : "";
});
});
});
应该是
$(function () {
$("div").on("click", function () {
$(this).addClass(function () {
return $(this).hasClass("") ? "scale" : "";
});
});
});
@user2930185刚刚更正了另一个错误,它是
return$(this).hasClass(“”)?“比例”:“代码>不返回$(this).hasClass(“”)?“比例”:返回“
@user2930185刚刚更正了另一个错误,它是return$(this).hasClass(“”)?“比例”:“代码>不返回$(this).hasClass(“”)?“比例”:返回“条件运算符是一个表达式,返回语句是一个语句。一般来说,语句不能包含在表达式中,而是相反。因为return语句的结构是return
,您可以将任何表达式放在return
关键字后面,包括条件运算符。@FelixKling:这很有道理,谢谢!条件运算符是表达式,返回语句是语句。一般来说,语句不能包含在表达式中,而是相反。因为return语句的结构是return
,您可以将任何表达式放在return
关键字后面,包括条件运算符。@FelixKling:这很有道理,谢谢!