var countChecked = $('.member_checkbox:checked').length;
$('.email-btn').text('Email ' + countChecked + 'member' + countChecked > 1 ? 's');
我的條件式短手在上面出現了什麼問題?我想要的邏輯是添加's',如果計數超過1的字符串。有條件的短手不起作用?
var countChecked = $('.member_checkbox:checked').length;
$('.email-btn').text('Email ' + countChecked + 'member' + countChecked > 1 ? 's');
我的條件式短手在上面出現了什麼問題?我想要的邏輯是添加's',如果計數超過1的字符串。有條件的短手不起作用?
條件(三元)運算符是唯一一個需要三個操作數的JavaScript運算符。該運算符經常用作if語句的快捷方式。
您沒有使用正確的語法。
語法
condition ? expr1 : expr2
你已經錯過了conditional/ternary operator的其他部分。
$('.email-btn').text('Email ' + countChecked + 'member' + (countChecked > 1 ? 's' : ''));
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
此外,將條件部分包裹在圓括號內。
條件短手的語法是
條件?表達式1:表達式2
在你的表達,
條件是$( '電子郵件BTN ')文本(' 電子郵件' + countChecked + '成員' + countChecked> 1
Expr的1是'S'
Expr的2沒有給出
此外,
什麼的「的意思,它被分配到什麼?
「s」是一個字符串,添加到「member」使它成爲「成員」 –
var countChecked = $('.member_checkbox:checked').length;
$('.email-btn').text('Email ' + countChecked + 'member' + ((countChecked > 1) ? 's' : ''));
條件語句需要放在括號中,如果你不想在這種情況下追加任何東西,只要追加''就可以提供else部分。
沒有「有條件的短手」這樣的事情。它是三元運算符,它需要**三個**操作數,因此是「三元」。 – meagar
'...> 1? 's':''',但是仍然會把零加起來,所以你想'...!= 1?''''''' – dandavis