0

次のコードでif-elseステートメントを記述するより効率的なDRYerの方法はありますか?見栄えが悪いだけです。

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');
}

(参考:長い変数名は無視してください。縮小されます。)

4

2 に答える 2

4

使用するtoggleClass()

$diffPaymentAddressFieldset.toggleClass('hidden', $checkbox.is(':checked'));
于 2012-04-29T13:32:47.387 に答える
0

または、addClass / removeClassを使用したワンライナー?

$diffPaymentAddressFieldset[$checkbox.is(':checked')?'removeClass':'addClass']('hidden');

また、神のために、より短い変数名を使用してみてください?

于 2012-04-29T13:39:45.293 に答える