2008-12-14 119 views
6

我想显示jquery隐藏的第一个元素。我的html代码是:如何找到由jQuery隐藏的第一个元素

<ol> 
    <li>1</li> 
    <li style="display:none">2</li> 
    <li style="display:none">3</li> 
    <li style="display:none">4</li> 
    <li style="display:none">5</li> 
    <li><a class="add">Add More ...</a></li> 
</ol> 

我想显示第一个隐藏的LI,每次单击“a”元素。 我的解决方案如下。但我认为更好的方式存在。

$("a.add").click(function(){ 
     var hiddens=$(":hidden",$(this).parent().parent()); 
     if (hiddens.length>0) 
     { 
      hiddens.each(function(index,el){ 
       if(index==0) 
       { 
        $(this).slideToggle("fast"); 
       } 
      }); 
     } 

     if (hiddens.length==1) 
     { 
      $(this).parent().hide(); 
     } 

回答

12

只需添加一个:第一选择你得到后:隐藏的设置让您从一组由找到的第一个元素:隐藏选择

$("a.add").click(function(){ 
    $(":hidden:first").slideToggle("fast"); 
}); 
2

这里是解决方案:

$("a.add").click(function(){ 
    $(":hidden:first").show(); 
}); 
0

谢谢你“以太”: 我发现下面你的答案后解决方案:

$(":hidden:eq(0)",$(this).parent().parent()) 

OR

$(":hidden:lt(1)",$(this).parent().parent()) 
+0

不坏,:隐藏:LT(1)和 “:隐藏:当量(0)” 似乎足以找到第一个隐藏的元素,所述第二部分具有,$(这个).parent()。parent()不需要=) – 2008-12-15 21:43:35