我有不同的复选框,onclick 根据 li 的类过滤一组 ~100 li 元素。
过滤器:
[ ] Rock Checkbox
[ ] Rap Checkbox
[ ] Punk Checkbox
[ ] Country Checkbox
<li class="rock rap punk">...</li>
<li class="rock country">...</li>
我的 javascript 如下所示:
$(document).ready(function(){
$('.filter').click(function() {
var attribute = this.name;
if ($(this).is(':checked')) {
$('#champion-list li').each(function(index) {
if(!$(this).hasClass(attribute))
$(this).hide();
});
} else {
$('#champion-list li').each(function(index) {
if(!$(this).hasClass(attribute))
$(this).show();
});
}
});
});
因此,单击任何复选框,它都会根据类获取名称和过滤器。但是,这种方法非常缓慢。有更好的性能想法吗?