liのクラスに基づいて最大100個のli要素のセットをonclickフィルターするさまざまなチェックボックスがあります。
フィルタ:
[ ] 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();
});
}
});
});
したがって、チェックボックスをクリックすると、名前が取得され、クラスに基づいてフィルタリングされます。ただし、この方法は非常に低速です。パフォーマンスに関するより良いアイデアはありますか?