jQuery: selezione per classe e tipo di input


119

Vorrei selezionare un insieme di elementi che sono entrambi di un certo tipo di input (ad esempio, una casella di controllo) e hanno una certa classe utilizzando jQuery. Tuttavia, quando provo quanto segue:

 $("input:checkbox .myClass")

Non ricevo alcun articolo restituito. Come posso farlo in jQuery?

Risposte:


209

Il tuo selettore sta cercando eventuali discendenti di un elemento casella di controllo che hanno una classe di .myClass.

Prova questo invece:

$("input.myClass:checkbox")

Guardalo in azione .

Ho anche provato questo:

$("input:checkbox.myClass")

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


51

Se vuoi ottenere gli input di quel tipo con quella classe usa:

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

la sintassi del selettore [] consente di confrontare qualsiasi attributo degli elementi. Controlla le specifiche per maggiori dettagli


6

Devi usare (per le caselle di controllo) :checkboxe l' .nameattributo da selezionare per classe.

Per esempio:

$("input.aclass:checkbox")

Il :checkboxselettore:

Corrisponde a tutti gli elementi di input della casella di controllo del tipo. Usare questo psuedo-selettore come $(':checkbox')è equivalente a $('*:checkbox') che è un selettore lento. Si consiglia di farlo $('input:checkbox').

Dovresti leggere la documentazione di jQuery per conoscere i selettori.


4

Dovresti usare il nome della classe in questo modo

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

Prova a utilizzare questa una demo dal vivo


1
la risposta non è rilevante per la domanda.
Avnish alok

1
tuttavia la risposta è del tutto utile ad altri che cercano cose simili, ma non l'esatta domanda OP.
camdixon


3

Nel caso in cui qualche manichino come me abbia provato i suggerimenti qui con un pulsante e non abbia trovato nulla che abbia funzionato, probabilmente lo vuoi:

$(':button.myclass')
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.