2010-08-22 27 views
9

tôi có thể nhận được tất cả trẻ em với mã nàyJquery - Nhận tất cả trẻ em có thể nhìn thấy từ một div Nhận

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

Nhưng làm thế nào tôi có thể nhận được tất cả trẻ em có thể nhìn thấy với lớp "một" từ id = "tất cả"?

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

Xin cảm ơn trước. Peter

Trả lời

3

Công việc này có hiệu quả không?

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

Có, nó sẽ hoạt động – Ben

15

Bạn có thể sử dụng bộ chọn :visible lọc như thế này:

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

Hãy thử điều này, được lưu dưới dạng .html cho một ví dụ

<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

Bạn có thể sử dụng đơn giản sau đây Hàm jQuery

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

Điều này sẽ giúp bạn có được tất cả các thành phần hiển thị với lớp học. (kèm theo #all)

Các vấn đề liên quan