2011-08-01 118 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"; 
} 

我希望工程

相关问题