为复选框优化jQuery选择器

时间:2013-10-16 09:18:52

标签: javascript jquery performance

我有一个像这样的选择器

$('.left_checkboxes:not(.Deleted,:hidden)').prop('checked', $(this).is(':checked'));

这对浏览器来说真的很痛苦,需要花很多时间来检查所有这些内容(例如,列表中大约20-25个复选框需要3秒)。

所以我尝试过这样优化:

$(left_checkboxes + ':hidden').prop('checked', $(this).is(':checked'));

其中left_checkboxes = $('。left_checkboxes');

我也尝试过:

left_checkboxes.filter(':hidden').prop('checked', $(this).is(':checked'));

但没有运气。我的这两个根本不会工作......不知道为什么。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

重要的是选择器$('.left_checkboxes')不应该在后面的代码的每次迭代中执行...

var left_checkboxes = $('.left_checkboxes');

然后再

left_checkboxes.not('.Deleted,:hidden').prop('checked', $(this).is(':checked'));