if (!errorHasHappened) {
info.show();
error.hide();
} else {
info.hide();
error.show();
}
我无法使用切换功能。
我尝试将函数 show 或 hide 传递给变量然后执行它,但由于某种原因它不起作用,并且出现了 JS 错误。
你可以这样做,但 if 语句更清晰。
为什么不使用专为这种情况设计的
.toggle
呢?
info[errorHasHappened ? 'hide' : 'show']();
error[errorHasHappened ? 'show' : 'hide']();
你可以尝试这样的事情:
info[errorHasHappened?'hide':'show']();
error[errorHasHappened?'show':'hide']();
但这是我能想到的唯一选择,它可以使代码更短。
但是,这样的代码并不容易维护。
如果您的目标是缩短代码:
errorHasHappened?(info.hide(),error.show()):(info.show(),error.hide());
顺便说一句,使代码更短
!==
简化代码。 IMO至少..
任何有意义的事情就是改变它们以防止!
if (errorHasHappened) {
info.hide();
error.show();
} else {
info.show();
error.hide();
}
另一种方式:
$( "#error" ).toggleClass( className, errorHasHappened);
$( "#info" ).toggleClass( className, errorHasHappened);