我做了很多:
var condition = true;
if (condition === true) {
$('#condition_dependancy').show();
} else {
$('#condition_dependancy').hide();
}
这可以在语法上更清洁吗?我可以写自己的:
$('#condition_dependancy').hidden(condition);
但我只是想知道是否有任何内置的东西。
答案 0 :(得分:40)
您可以使用toggle
:
var condition = true;
$('#condition_dependancy').toggle(condition);
旁注:不要使用
之类的东西if (condition === true)
除非condition
有可能具有不同的“truthy”*值,并且您只希望表达式为真,如果它恰好是true
而不是它只是真实的。一般来说,== (boolean)
和(在JavaScript中)=== (boolean)
只是噪音(尽管在JavaScript中存在使用===
版本的边缘情况)。
体型:
if (condition)
和(针对== false
/ === false
案例):
if (!condition)
*“truthy”:在JavaScript中,类型可以通过表达式强制执行。在任何地方都需要布尔值,如果你使用不是布尔值的东西,它就会被强制成为布尔值。强迫true
的事情被称为“真实”的价值观;强迫false
的东西被称为“假”值。假名值为0
,""
,NaN
,undefined
,null
,当然还有false
。其他一切都是真的。
答案 1 :(得分:6)
使用toggle()
:
$('#condition_dependancy').toggle(condition);