2013-06-25 10 views
5

Questa mattina sta rallentando davvero i miei progressi. Qualsiasi aiuto sarebbe incredibile. Ecco il mio codice che sto usando per cercare di ottenere ogni casella di testo:Come ottengo tutte le caselle di testo all'interno di un dato div in base al suo nome di classe?

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

}); 

Le opere di codice di cui sopra, ma mantiene afferrando selezionare scatole pure. Ho provato a usare i due punti tra il nome della classe e l'identificatore del tipo di input, nonché una serie di altri modi per ottenere ogni casella di testo (: input,: text, type = text, ecc.). Perdona il mio stile qui perché sono completamente nuovo nel fare domande e non ho ancora imparato la formattazione.

Nota: .contactInfo è una classe assegnata al div che contiene le caselle di testo che voglio ottenere. Inoltre, sto usando il plugin jquery scelto per modellare anche le mie caselle di selezione. Questo potrebbe o non potrebbe avere nulla a che fare con il mio problema, volevo solo far sapere a tutti voi.

Grazie in anticipo per qualsiasi cosa voi ragazzi potete aiutarmi con!

Aggiornamento: ho provato tutte le soluzioni elencate qui. Ognuno afferra la casella di selezione, tuttavia, non restituisce il suo id. Quindi, sto solo usando una soluzione che controlla se il suo id è nullo, così posso saltarlo durante le iterazioni. Apprezzo davvero ognuno di voi per il vostro contributo! Grazie!

+1

Sarebbe meglio se si mostra il codice HTML. –

+0

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

+0

cosa ha intenzione di fare con caselle di testo all'interno del div? – Learner

risposta

6

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

$('.contactInfo input:text')

+1

Non hai nemmeno bisogno di 'input: text', è ridondante. ': text' seleziona per gli input di tipo text. –

+1

@ Sururdreams: Tuttavia, l'aggiunta di 'input' lo rende più veloce. Vedi i documenti. – SLaks

+0

Non mi ero accorto di: pseudoselector, grazie per avermelo fatto notare. 'input: text' è il modo migliore per andare. Grazie, @SLaks. –

0

provare questo

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

Questo dovrebbe trovare tutte le caselle di testo all'interno di tale div (.contactInfo). Un'altra cosa da notare è che il metodo find() sarà molto più veloce dei selettori di contesto.

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