代码之家  ›  专栏  ›  技术社区  ›  Atta

如何找到JQuery隐藏的第一个元素

  •  6
  • Atta  · 技术社区  · 17 年前

    我想显示jquery隐藏的第一个元素。我的html代码是:

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

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

    $("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();
            }
    

    等价无穷小

    3 回复  |  直到 17 年前
        1
  •  12
  •   PHP Worm... Lylo    9 年前

    只需在获取:hidden set后添加:first选择器,就可以从:hidden选择器找到的set中获取第一个元素

    $("a.add").click(function(){
        $(":hidden:first").slideToggle("fast");
    });
    
        2
  •  2
  •   Hassan Imam Ravi kant    9 年前

    解决方案如下:

    $("a.add").click(function(){
        $(":hidden:first").show();
    });
    
        3
  •  0
  •   Atta    17 年前

    感谢“以太”: 在您的回答之后,我找到了以下解决方案:

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

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