2012-10-10 11 views
5

Jeśli zadzwonię pod numer .hide(), jQuery będzie mógł/może wybrać go w normalnym selektorze domowym.Czy jQuery wybierze ukryte elementy

Jeśli jQuery zwykle wybiera ukryte elementy, jaki jest właściwy sposób wybierania tylko widocznych elementów. Czy mogę użyć selektora css, czy jest bardziej odpowiedni sposób na zrobienie tego?

+0

To jedna z zalet oddzielania struktury od stylu. –

+2

Naprawdę nie rozumiem, dlaczego to pytanie zostało zamknięte, ponieważ nie jest konstruktywne. Wydaje mi się, że zadaje bardzo proste pytanie "tak/nie", a następnie pyta o metodę osiągnięcia bardzo określonego celu. Nie rozumiem, dlaczego miałoby to "skłonić do debaty, argumentów, sondowania lub rozszerzonej dyskusji". Niekoniecznie się ze mną nie zgadzam, ale chciałbym po prostu zrozumieć, jakie kryteria nie spełniały tego pytania. – Isochronous

Odpowiedz

3

Tak. Funkcja hide przechowuje tylko bieżącą wartość właściwości display css twojego elementu, a następnie ustawia ją na none. Tak więc, selektory domostw nie będą miały na nie wpływu, chyba że spróbują dopasować elementy o określonej wartości css display.

Sprawdź to here.

Spójrz na jQuery hide function documentation.

1

Po prostu dodaje ekran: brak stylu do elementu ... .remove() z drugiej strony nie pojawi się w zliczeniach. Ale to całkowicie pozbywa się go, i jeśli nie przechowujesz wartości gdzieś, nie jest ona dostępna.

Zakładam, że chcesz policzyć widoczne elementy. Zamiast tego wykonuję następujące czynności:

$('.element').addClass('hide'); 

var count_of_visible_items = $('.element:not(".hide")').length; 
console.log(count_of_visible_items); 
Powiązane problemy