2012-07-22 90 views
1
<div class="save" id="1">1</div> 
<div class="save" id="2" style="display:none">2</div> 
<div class="save" id="3">3</div> 
<div class="save hide" id="4">4</div> 
<div class="save" id="5">5</div> 

.hide { 
display: none; 
} 

$('.save').each(function(){ 
    console.log($(this).attr('id')); 
}) 

可見的元素這告訴我:只顯示每個

1 
2 
3 
4 
5 

但應和:

1 
3 
5 

必須通過我看到每一個元素用什麼循環?

+4

的http:// API。 jquery.com/visible-selector/ – 2012-07-22 21:42:50

+2

請注意,'this.id'將用於獲得'$(this).attr('id')'(但在運行時更高效且易於閱讀和輸入) 。 – nnnnnn 2012-07-22 21:45:21

+2

**值得**花費一個小時閱讀[API文檔](http://api.jquery.com)。它實際上只需要很長的時間,並且它在很短的時間內給你多倍的回報。 – 2012-07-22 21:49:15

回答

3
$('.save:visible').each(function(){ 
     console.log($(this).attr('id')); 
    }) 

或者

$('.save').each(function(){ 
     if($(this).is(':visible')) { //only if visible 
      console.log($(this).attr('id')); 
     } 
     else { //only if hidden 

     } 
    }) 
7

使用:visible選擇:

$('.save:visible').each(function(){ 
    console.log(this.id); 
}) 

如果你已經有你.save元素,你可以filter他們:

var $saves = $(".save"); 
$saves.filter(':visible').each(function(){ 
    console.log(this.id); 
})