jQuery隐藏/显示条件语句

Dom*_*ard 17 jquery dom

我做了很多:

var condition = true;
if (condition === true) {
    $('#condition_dependancy').show();
} else {
    $('#condition_dependancy').hide();
}
Run Code Online (Sandbox Code Playgroud)

语法上这可以更清洁吗?我可以写自己的:

$('#condition_dependancy').hidden(condition);
Run Code Online (Sandbox Code Playgroud)

但我只是想知道是否有任何内置的东西.

T.J*_*der 40

你可以使用toggle:

var condition = true;
$('#condition_dependancy').toggle(condition);
Run Code Online (Sandbox Code Playgroud)

旁注:不要使用像

if (condition === true)
Run Code Online (Sandbox Code Playgroud)

除非有可能condition会有一个不同的"truthy"*值,你只希望表达式是真的,如果它是精确的true而不是它只是真的.一般而言== (boolean)(在JavaScript中)=== (boolean)只是噪音(尽管在JavaScript中存在使用该===版本的边缘情况).

身高:

if (condition)
Run Code Online (Sandbox Code Playgroud)

和(对于== false/ === falsecase):

if (!condition)
Run Code Online (Sandbox Code Playgroud)

*"truthy":在JavaScript中,类型可以通过表达式强制执行.在任何地方都需要布尔值,如果你使用不是布尔值的东西,它就会被强制成为布尔值.强迫的事情true被称为"真实"的价值观; 强迫的东西false被称为"虚假"的价值观.该falsey值0,"",NaN,undefined,null,当然,false.其他一切都是真实的.


A. *_*lff 7

使用toggle():

$('#condition_dependancy').toggle(condition);
Run Code Online (Sandbox Code Playgroud)