2009-06-30 12 views
89

Vorrei selezionare un insieme di elementi che sono entrambi di un determinato tipo di input (ad esempio una casella di controllo) e avere una determinata classe che utilizza jQuery. Tuttavia, quando provo il seguente:jQuery: selezione per classe e tipo di input

$("input:checkbox .myClass") 

Non ricevo alcun articolo restituito. Come posso realizzare questo in jQuery?

risposta

153

Il selettore cerca i discendenti di un elemento casella di controllo con classe .myClass.

Prova a modificare:

$("input.myClass:checkbox") 

Check it out in action.

Ho anche testato questo:

$("input:checkbox.myClass") 

e sarà anche funzionare correttamente. A mio modesto parere questa sintassi sembra davvero brutta, poiché la maggior parte delle volte mi aspetto che i selettori di stile : vengano per ultimi. Come ho detto, però, uno funzionerà.

+1

Blasted - Ho inserito la mia risposta troppo velocemente, commesso lo stesso errore. Oh beh, piuttosto che modificare mi ritirerò e voterò per aver visto l'errore;) – Sampson

37

Se si desidera ottenere gli ingressi di quel tipo con quella classe di utilizzo:

$("input.myClass[type=checkbox]") 

la sintassi di selezione [] consente di controllare contro qualsiasi degli elementi attributi. Controlla la spec per maggiori dettagli

3

Devi usare (per caselle di controllo) :checkbox e l'attributo .name per selezionare per classe.

Ad esempio:

$("input.aclass:checkbox") 

Il selettore :checkbox:

Risultati tutti elementi input di tipo checkbox. L'utilizzo di questo pseudo-selettore come $(':checkbox') equivale a $('*:checkbox') che è un selettore lento. Si consiglia di fare $('input:checkbox').

È necessario leggere jQuery documentation per conoscere i selettori.

4

Si consiglia di utilizzare il nome della classe come questo

$(document).ready(function(){ 
    $('input.addCheck').prop('checked',true); 
}); 

provare a utilizzare questo un live demo

2

Prova questa:

$("input:checkbox").hasClass("myClass"); 
1

Nel caso in cui qualsiasi manichini come me hanno provato i suggerimenti qui con un pulsante e non ha trovato niente funzionato, probabilmente lo vuoi:

$(':button.myclass') 
Problemi correlati