2012-12-12 62 views
-1

改5項如果我有類似這樣的標記:jQuery的,在同一時間

if ($('.supress').hasClass('hidden')) { 
    $('.supress').removeClass('hidden'); 
} 

編輯:

<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> 

我可以寫刪除類= 「隱藏」我之前嘗試:

if ($('.supress:lt(5)').hasClass('hidden')) { 
    $('.supress').removeClass('hidden'); 
} 

但是我該怎麼辦,如果我只想從第一個五我刪除「隱藏」類TEMS?

+1

http://www.whathaveyoutried.com –

回答

5

我會使用$.slice切斷前5:

$('.supress.hidden').slice(0, 5).removeClass('hidden'); 

雖然可以使用:lt選擇了相同的結果,但不建議在its own page

因爲:lt()是一個jQuery擴展,並且不是CSS規範的一部分,查詢使用:lt()不能利用 p由原生DOM querySelectorAll()提供的性能提升 方法。 爲了在現代瀏覽器中獲得更好的性能,請使用 $(「your-pure-css-selector」)。slice(0,index)代替

+1

+1其中更好的提示 – IMSoP

2
$('.supress').each(function(i){ 
    if(i < 5 && $(this).hasClass('hidden')){ 
      $(this).removeClass('hidden'); 
    } 
}); 
6

你可以獲得多個類的元素,所以你不需要檢查是否有類。

$('.supress.hidden').slice(0,5).removeClass('hidden'); 
9
$(".supress.hidden:lt(5)").removeClass('hidden') 
+0

+1簡單直接的要點。 –