2010-08-22 2 views
9

je peux obtenir tous les enfants avec ce codeJquery - tous les enfants visibles d'un div Get

$('#all').children().each(function() { .... }); 

Mais comment puis-je obtenir tous les enfants visibles avec classe "un" de id = "all"?

<div id="all"> 

    <div>asdd</div> 
    <div class="one">content</div> 
    <div class="one">bla</div> 

    <div> 
     ssss 
     <div class="one" style="display:none">text</div> 
    </div> 

    <div class="one" style="display:none">blub</div> 

</div> 

Merci d'avance. Peter

Répondre

3

Est-ce que cela fonctionnerait?

$('.one:visible', '#all') 
+0

Oui, cela fonctionnerait – Ben

15

Vous pouvez utiliser le sélecteur de filtre :visible comme ceci:

$('#all').find('.one:visible').each(function(){ 
    // your code.... 
}); 
0

Essayez ceci, enregistrer comme un fichier .html pour un exemple

<html> 
<head> 
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> 
    <script> 
     $(document).ready(function(){ 

      $('#all').children().each(function() { 
       if($(this).hasClass('one') && $(this).css('display') != 'none') 
       { 
        alert($(this).html()); 
       } 
      }); 
     }); 
    </script> 
</head> 
<body> 
    <div id="all"> 

     <div>asdd</div> 
     <div class="one">content</div> 
     <div class="one">bla</div> 

     <div> 
      ssss 
      <div class="one" style="display:none">text</div> 
     </div> 

     <div class="one" style="display:none">blub</div> 

    </div> 
</body> 
</html> 
4

Vous pouvez utiliser le simple suivant Fonction jQuery

$('#all .one:visible'); 

Cela vous obtiendrez tous les éléments visibles avec la classe un. (inclus dans le #all)

Questions connexes