if (!errorHasHappened) {
info.show();
error.hide();
} else {
info.hide();
error.show();
}
我无法使用切换。
我试图将函数show或hide传递给变量然后执行它,但由于某种原因它没有工作,我收到了JS错误。
答案 0 :(得分:7)
你可以这样做,但如果陈述更清楚。
为什么不使用专为这种情况设计的.toggle
?
info[errorHasHappened ? 'hide' : 'show']();
error[errorHasHappened ? 'show' : 'hide']();
答案 1 :(得分:3)
您可以尝试这样的事情:
info[errorHasHappened?'hide':'show']();
error[errorHasHappened?'show':'hide']();
但这是我能想到的唯一选择,这会缩短代码。
这样的代码不会使维护更容易。
答案 2 :(得分:1)
如果缩短代码是您的目标:
errorHasHappened?(info.hide(),error.show()):(info.show(),error.hide());
BTW,缩短代码 !==
简化代码。 IMO至少......
答案 3 :(得分:1)
任何有意义的事情都是切换它们以防止!
if (errorHasHappened) {
info.hide();
error.show();
} else {
info.show();
error.hide();
}
答案 4 :(得分:1)
另一种方式:
$( "#error" ).toggleClass( className, errorHasHappened);
$( "#info" ).toggleClass( className, errorHasHappened);