use*_*439 0 javascript css string jquery jquery-selectors
我有不同的复选框,可以根据li的类过滤一组~100 li元素.
过滤器:
[ ] Rock Checkbox
[ ] Rap Checkbox
[ ] Punk Checkbox
[ ] Country Checkbox
<li class="rock rap punk">...</li>
<li class="rock country">...</li>
Run Code Online (Sandbox Code Playgroud)
我的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();
});
}
});
});
Run Code Online (Sandbox Code Playgroud)
所以点击任何复选框,它会根据类来获取名称和过滤器.但是,这种方法非常慢.有什么更好的表现想法?
选择器是一个字符串,因此您可以动态构造它:
$("#champion-list li." + attribute).hide();
Run Code Online (Sandbox Code Playgroud)
要选择没有类的li元素:
$("#champion-list li :not(." + attribute + ")").hide();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1141 次 |
| 最近记录: |