2013-10-16 179 views
0

我有一个是这样的优化jQuery选择的复选框

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

这一个选择是浏览器真的很痛苦,它需要大量的时间来检查所有的(例如3秒左右20-25列表中的复选框)。

所以我试着优化它像这样:

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

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

我也试过:

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

,但没有运气。我的这两个人甚至都不会工作...不知道为什么。有任何想法吗?

+2

你能创建一个小提琴? – Praveen

+2

当你似乎想要'.not'时,为什么要尝试使用'.filter'? –

+0

@dystroy哦,我的上帝....谢谢!我是这样一个白痴:D 我只是做了:可见而不是隐藏,它的工作就像一个魅力....这样一个愚蠢的小姐...... – rexdefuror

回答

0

不被选择$('.left_checkboxes')不应该在以后的代码的每个迭代执行最重要的事情......

var left_checkboxes = $('.left_checkboxes'); 

后来

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