2010-08-22 27 views
9

yo puede conseguir a todos los niños con este códigoJquery - Obtener todos los niños visibles desde un div Obtener

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

Pero, ¿cómo puedo conseguir todos los niños visibles con "uno" de la clase 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> 

Gracias de antemano. Peter

Respuesta

3

¿Funcionaría?

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

Sí, funcionaría – Ben

15

Puede utilizar el selector de :visible filtro de la siguiente manera:

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

probar esto, guardar como un archivo html para un ejemplo

<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

Usted puede utilizar el siguiente sencillo Función jQuery

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

Esto le dará todos los elementos visibles con la clase uno. (incluido dentro de #all)

Cuestiones relacionadas