在下面的代码中是否有一种更有效的DRYer方法来编写if-else语句?它看起来不太好。
var $diffPaymentAddressFieldset = $('fieldset.diffPaymentAddress', 'form.myForm');
// $checkbox is an input with type=checkbox
if ($checkbox.is(':checked') === true) {
$diffPaymentAddressFieldset.removeClass('hidden');
} else {
$diffPaymentAddressFieldset.addClass('hidden');
}
(仅供参考:忽略长变量名称,它们会被缩小。)
答案 0 :(得分:4)
使用toggleClass()
$diffPaymentAddressFieldset.toggleClass('hidden', $checkbox.is(':checked'));
答案 1 :(得分:0)
还是带有addClass / removeClass的单行程序?
$diffPaymentAddressFieldset[$checkbox.is(':checked')?'removeClass':'addClass']('hidden');
另外,为了上帝的缘故,尝试使用较短的变量名称?