2012-12-19 10 views
12

Muszę tylko show() elementu w jQuery foreach pętlidostać tylko te elementy, które nie są ukryte .. Jquery

W poniższym kodzie otrzymuję cały element z testu klasy (IE) zarówno ukryty i pokazane ... ale trzeba tylko pokazać i nie ukrywać ... jak filtrować i uzyskać to w tej linii sam ?????

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

} 
+2

To naprawdę warta godzin (lub dwa, * max *), które zajmuje się odczytywaniem dokumentacji [jQuery API] (http://api.jquery.com) od początku do końca. Znajdziesz wiele rzeczy, o których nie wiedziałeś (w tym wskazany przez Rory'ego wybieracz ': visible'). –

Odpowiedz

22

Użyj wybieraka :visible:

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

+1 za użycie pseudo elementu – Peon

+0

Nie będzie działać dla 'widoczności: ukryty' –

+0

@RoryMcCrossan, ale pytanie było" ... ukryte i pokazane ... ". To znaczy, nie kłócę się o dokumenty. Przeczytałem je i właśnie dlatego komentarz ten jako "nie jest odpowiedzią na pytanie" –

4

Zastosowanie .filter() z: widoczny jako argument:

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

} 
Powiązane problemy