有条件的空手不起作用?

时间:2015-09-08 03:30:21

标签: javascript jquery ternary-operator

var countChecked = $('.member_checkbox:checked').length;
$('.email-btn').text('Email ' + countChecked + 'member' + countChecked > 1 ? 's');

我的条件短手上面有什么问题?我想要的逻辑是,如果计数超过字符串1,则添加's'。

3 个答案:

答案 0 :(得分:0)

  

条件(三元)运算符是唯一采用三个操作数的JavaScript运算符。此运算符经常用作if语句的快捷方式。

您没有使用正确的语法。

语法是

condition ? expr1 : expr2 

你错过了conditional/ternary operator的其他部分。

$('.email-btn').text('Email ' + countChecked + 'member' + (countChecked > 1 ? 's' : ''));
//                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

另外,将条件部分包装在括号内。

答案 1 :(得分:0)

条件短手的语法是
条件? expr1:expr2

在你的表达中,
条件是$('。email-btn')。text('Email'+ countChecked +'member'+ countChecked> 1
Expr 1 是's' Expr 2未给出

另外,
它是什么意思,它被分配给什么?

答案 2 :(得分:0)

var countChecked = $('.member_checkbox:checked').length;
$('.email-btn').text('Email ' + countChecked + 'member' + ((countChecked > 1) ? 's' : ''));

条件语句需要在括号中,并且如果你不想在这种情况下附加任何东西,只需附加'',就会提供else部分。