如果我有这样的标记:
<li class="supress hidden"></li>
<li class="supress hidden"></li>
<li class="supress hidden"></li>
<li class="supress hidden"></li>
<li class="supress hidden"></li>
<li class="supress hidden"></li>
<li class="supress hidden"></li>
<li class="supress hidden"></li>
<li class="supress hidden"></li>
<li class="supress hidden"></li>
<li class="supress hidden"></li>
<li class="supress hidden"></li>
我可以通过写下来删除class =“hidden”:
if ($('.supress').hasClass('hidden')) {
$('.supress').removeClass('hidden');
}
修改:在我尝试之前:
if ($('.supress:lt(5)').hasClass('hidden')) {
$('.supress').removeClass('hidden');
}
但如果我只想删除前五项中的“隐藏”类,我该怎么办?
答案 0 :(得分:9)
$(".supress.hidden:lt(5)").removeClass('hidden')
答案 1 :(得分:6)
您可以获得包含多个课程的元素,因此您无需检查是否有课程。
$('.supress.hidden').slice(0,5).removeClass('hidden');
答案 2 :(得分:5)
我会使用$.slice来削减前5:
$('.supress.hidden').slice(0, 5).removeClass('hidden');
虽然您可以使用:lt
选择器获得相同的结果,但我们不建议its own page:
因为
:lt()
是jQuery扩展而不是CSS的一部分 规范,查询使用:lt()无法利用 本机DOM querySelectorAll()提供的性能提升 方法。 为了在现代浏览器中获得更好的性能,请使用 $(“your-pure-css-selector”)。slice(0,index)改为。
答案 3 :(得分:2)
$('.supress').each(function(i){
if(i < 5 && $(this).hasClass('hidden')){
$(this).removeClass('hidden');
}
});
答案 4 :(得分:0)
jQuery提供了很多方法来实现这一目标: