jQuery: Memilih berdasarkan kelas dan jenis input

119

Saya ingin memilih sekumpulan elemen yang keduanya dari jenis input tertentu (katakanlah, kotak centang) dan memiliki kelas tertentu menggunakan jQuery. Namun, ketika saya mencoba yang berikut ini:

 $("input:checkbox .myClass")

Saya tidak mendapatkan item apa pun dikembalikan. Bagaimana saya bisa melakukannya di jQuery?

Brian Sullivan
sumber

Jawaban:

209

Pemilih Anda sedang mencari turunan dari elemen kotak centang yang memiliki kelas .myClass.

Coba ini sebagai gantinya:

$("input.myClass:checkbox")

Lihat aksinya .

Saya juga menguji ini:

$("input:checkbox.myClass")

Dan itu juga akan bekerja dengan baik. Menurut pendapat saya, sintaks ini benar-benar terlihat agak jelek, karena sebagian besar waktu saya mengharapkan :pemilih gaya datang terakhir. Namun, seperti yang saya katakan, salah satunya akan berhasil.

Paolo Bergantino
sumber
51

Jika Anda ingin mendapatkan input jenis itu dengan kelas itu, gunakan:

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

sintaks pemilih [] memungkinkan Anda untuk memeriksa salah satu atribut elemen. Lihat spesifikasi untuk lebih jelasnya

Kucing Barok
sumber
6

Anda harus menggunakan (untuk kotak centang) :checkboxdan .nameatribut untuk dipilih berdasarkan kelas.

Sebagai contoh:

$("input.aclass:checkbox")

The :checkboxpemilih:

Cocok dengan semua elemen masukan dari kotak centang tipe. Menggunakan selektor-psuedo $(':checkbox')ini sama dengan $('*:checkbox') yang merupakan pemilih lambat. Dianjurkan untuk dilakukan $('input:checkbox').

Anda harus membaca dokumentasi jQuery untuk mengetahui tentang penyeleksi.

eKek0
sumber
4

Anda harus menggunakan nama kelas seperti ini

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

Coba Gunakan ini demo langsung

Akhil Chandran
sumber
1
jawaban tidak relevan dengan pertanyaan.
Avnish alok
1
namun jawabannya sepenuhnya membantu orang lain yang mencari hal yang serupa, tetapi bukan pertanyaan OP yang tepat.
camdixon
3

Coba ini:

$("input:checkbox").hasClass("myClass");
Fabio Padua
sumber
3

Untuk berjaga-jaga jika ada boneka seperti saya yang mencoba saran di sini dengan sebuah tombol dan tidak menemukan apa pun yang berfungsi, Anda mungkin menginginkan ini:

$(':button.myclass')
iforce2d.dll
sumber