2011-08-01 90 views
4

我有10 <格>的與同一類隱藏所有div的(除了第一個)具有相同的類

<div class="c1"></div> 
<div class="c1"></div> 
<div class="c1"></div> 
<div class="c1"></div> 
<div class="c1"></div> 
<div class="c1"></div> 
<div class="c1"></div> 
<div class="c1"></div> 
<div class="c1"></div> 
<div class="c1"></div> 

現在我需要隱藏所有<DIV>離開先出。

回答

16

這是做的最快方法:$('div.c1').not(':eq(0)').hide(); :)

+0

@Brock亞當斯,那麼jQuery的文檔說這是比較慢,但是你的:GT讓我覺得這是** **得多快,根據你的速度測試的另一種方法。我將它添加爲新的方式。我將編輯我的帖子 – Paulpro

+0

http://jsperf.com/select-all-but-first/2 – Paulpro

+0

@Brock Adams,實際上當我在FF 5中測試時,我也是以jQuery文檔的方式說明的。也許你只是在測試時有一些背景任務使CPU略微繁忙。 – Paulpro

1
$('.c1').hide(); 
$('.c1:first').show(); 
0

另一種方式:

$('div.c1:gt(0)').hide(); 

哪個更靈活,如果你決定要保留1日2,例如。

請注意,到目前爲止,這也比其他答案快10%(在FF 5中)。 See this performance test

0
var elements = document.getElementsByTagName("div").getElementsByClassName("c1"); 
for (var i = 1; i < elements.length; i++) 
{ 
    elements[i].style.visibility = "hidden"; 
} 

我希望工程

相關問題