2013-06-25 13 views
5

To naprawdę spowalnia moje postępy dziś rano. Każda pomoc byłaby niesamowita. Tu jest mój kod, który używam, aby spróbować każdej pola tekstowego:Jak uzyskać wszystkie pola tekstowe w danym div na podstawie jego nazwy klasy?

$('.contactInfo input[type="text"]').each(function() { 

}); 

Powyższe prace kod, ale utrzymuje chwytając wybierz pola, jak również. Próbowałem używać dwukropka pomiędzy nazwą klasy i identyfikatorem typu wejściowego, a także szereg innych sposobów na uzyskanie każdego pola tekstowego (: input,: text, type = text, etc.). Wybacz moją stylizację tutaj, ponieważ jestem zupełnie nowy, zadając pytania i nie zrozumiałam formatowania.

Uwaga: .contactInfo to klasa przypisana do elementu div, która zawiera pola tekstowe, które chcę uzyskać. Używam również wybranej wtyczki jQuery do stylizowania również moich pól wyboru. To może mieć lub nie mieć nic wspólnego z moim problemem, chciałem tylko dać znać.

Z góry dziękuję za wszystko, co możecie mi pomóc!

Aktualizacja: próbowałem wszystkich wymienionych tutaj rozwiązań. Każdy chwyta pole wyboru, jednak nie zwraca swojego identyfikatora. Używam obejścia, które sprawdza, czy jego identyfikator ma wartość null, aby można było go pominąć podczas iteracji. Naprawdę doceniam każdego z Was za wasz wkład! Dzięki!

+1

Byłoby lepiej, gdyby można pokazać html. –

+0

'$ ('input.contactInfo [type =" text "]'). Each (function() { });' – tymeJV

+0

co zrobić z textboxami wewnątrz div? – Learner

Odpowiedz

6

Zobacz http://api.jquery.com/text-selector/:

$('.contactInfo input:text')

+1

Nie potrzebujesz nawet "input: text", jest zbędny. ': text' wybiera dla wprowadzania tekstu typu. –

+1

@ SurrealDreams: Jednak dodanie 'input' sprawia, że ​​jest szybszy. Zobacz dokumentację. – SLaks

+0

Nie przyłapałem się na: pseudoselectorach, dziękuję za wskazanie mi tego. 'input: text' jest lepszym rozwiązaniem. Dzięki, @SLaks. –

0

spróbować

$(".contactInfo").children("input[type=text]").each(function(){ 
    //Do stuff here 
}); 
5
$(".contactInfo").find("input[type=text]") 

ten powinien znaleźć wszystkie otaczaniem w ramach tego div (.contactInfo). Inną rzeczą, na którą należy zwrócić uwagę, jest to, że metoda find() będzie znacznie szybsza niż selektory kontekstowe.

http://jsperf.com/jquery-find-vs-context-sel

Powiązane problemy