2008-12-14 7 views
6

Je souhaite afficher le premier élément masqué par jquery. mon code html est:Comment trouver le premier élément masqué par 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> 

Je veux montrer d'abord caché LI, chaque fois que cet élément « a » a été cliqué. Ma solution est ci-dessous. mais je pense que la meilleure façon existe.

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

Tanx

Répondre

12

Il suffit d'ajouter: premier sélecteur après que vous obtenez: caché réglé de telle sorte que vous obtenez le premier élément de jeu trouvé par: sélecteur caché

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

Voici la solution:

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

Thank You "Ether": je trouve ci-dessous des solutions après votre réponse:

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

OU

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

pas mal,: caché: lt (1) et ": caché: eq (0)" semble suffisante pour trouver le premier élément caché, la deuxième partie avec $ (this) .parent(). parent() n'est pas nécessaire =) –

Questions connexes