0

私はこのコードを手に入れました:

$(document).ready(function () {
    $('tr.DataDark input[type=checkbox], tr.DataLight input[type=checkbox]').click(function () {
        $(this).closest('tr').toggleClass('Selected');
    });
    $('tr.DataDark input[type=checkbox]:checked, tr.DataLight input[type=checkbox]:checked').each(function () {
        $(this).closest('tr').addClass('Selected');
    });
});

短く書くことはできますか?

提案をありがとう。

4

2 に答える 2

2

多分これ?正確に短くはありませんが、おそらくもっと単純です。

$(document).ready(function() {
  var checkBoxes = $('tr.DataDark input[type=checkbox], tr.DataLight input[type=checkbox]');

  checkBoxes.on("click", function() {
    $(this).closest('tr').toggleClass('Selected');
  });

  checkBoxes.filter(':checked').closest('tr').addClass('Selected');
});

短くするには、変数を省略して、呼び出しをに直接checkBoxesチェーンします。filter().closest().addClass()on("click")

于 2012-07-16T09:51:17.763 に答える
0

一致するHTMLを表示しないと、どのショートカットが可能かがわかりますが、提示したコードの行数を短縮する意味のある方法はありません。

変更したり、最小化して文字数を減らしたり、複数の行を1つの長い行に折りたたんだりする方法はありますが、読みやすく、同じロジックを実行したい場合は、複数のロジックを人為的に折りたたまないでください。一緒に長い行にすると、それはあなたが持っているコードの行数についてかかります。

于 2012-07-16T09:32:49.250 に答える