2010-08-22 66 views
9

我可以讓所有的孩子使用此代碼jQuery的 - 獲取從一個div所有可見孩子們

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

但我怎麼能得到與類「一」的所有可見的孩子從ID =「所有」?

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

在此先感謝。 彼得

回答

3

這項工作?

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

是的,它會工作 – Ben 2010-08-22 18:08:33

15

可以使用:visible過濾器選擇這樣的:

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

試試這個,保存爲HTML文件爲例

<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

您可以使用下面的簡單jQuery功能

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

這將爲您帶來一流的所有可見元素。 (附上#all)

相關問題