2012-12-19 17 views
12

ho bisogno di ottenere solo l'elemento show() in jQuery foreach cicloottenere solo gli elementi che non sono nascosti .. Jquery

Nel codice qui sotto sto ottenendo tutto l'elemento con classe di test (ad esempio) sia nascosta e mostrato ... ma serve solo mostrato e non nascosto ... come filtrare e ottenere quello stesso in questa riga ?????

$('.element').find('.test').each(function(index, loopelement) { 

} 
+2

Vale veramente la pena l'ora (o due, * max *) che ci vuole per leggere la [documentazione API di jQuery] (http://api.jquery.com) che inizia a finire. Troverai tutti i tipi di cose che non sapevi (incluso il selettore ': visible' che Rory ha indicato). –

risposta

22

utilizzare il selettore :visible:

$('.element').find('.test:visible').each(function(index, loopelement) { 
    // do stuff... 
}); 
+1

+1 per uso pseudo elemento – Peon

+0

Non funziona per 'visibility: hidden' –

+0

@RoryMcCrossan, ma la domanda era" ... sia nascosta che visualizzata ... ". Voglio dire, non sto discutendo sui documenti. Li ho letti ed è per questo che faccio questo commento in quanto questa soluzione è "non esattamente la risposta alla domanda" –

4

Usa .filter() con: visibile come argomento:

$('.element').find('.test').filter(":visible").each(function(index, loopelement) { 

} 
Problemi correlati