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,以便我们可以看到哪些快捷方式是可能的,那么就没有有意义的方法来缩短您提供的代码行数。

有一些方法可以改变它或最小化它以减少字符或将多行折叠成更长的行,但是如果你想保持它的可读性并且仍然执行你拥有的相同逻辑而不是人为地折叠多条逻辑一起组成更长的行,大约需要您拥有的代码行数。

于 2012-07-16T09:32:49.250 回答