Dengan pengenalan metode prop, sekarang saya perlu mengetahui cara yang diterima untuk menghapus centang pada kotak centang. Apakah itu:
$('input').filter(':checkbox').removeAttr('checked');
atau
$('input').filter(':checkbox').prop('checked',false);
Jawaban:
jQuery 3
Mulai jQuery 3,
removeAttr
tidak lagi menyetel properti terkait kefalse
:Changelog
Karenanya hanya
.prop('checked',false)
cara yang benar saat menggunakan versi ini.Jawaban asli (dari 2011):
Untuk atribut yang memiliki properti boolean yang mendasari (
checked
salah satunya),removeAttr
otomatis menyetel properti yang mendasarinya kefalse
. (Perhatikan bahwa ini adalah salah satu "perbaikan" kompatibilitas mundur yang ditambahkan di jQuery 1.6.1).Jadi, keduanya akan berhasil ... tetapi contoh kedua yang Anda berikan (menggunakan
prop
) adalah yang lebih benar dari keduanya. Jika tujuan Anda adalah menghapus centang pada kotak, Anda benar-benar ingin memengaruhi properti , bukan atributnya, dan Anda tidak perluremoveAttr
melakukannya.sumber
removeProp()
] untuk menghapus properti asli seperti dicentang, dinonaktifkan, atau dipilih. Ini akan menghapus properti sepenuhnya dan, setelah dihapus, tidak dapat ditambahkan lagi ke elemen. Gunakan.prop()
untuk menyetel properti ini ke salah sebagai gantinya."removeProp
benar-benar dimaksudkan untuk digunakan dengan properti khusus saja.menggunakan
checked
: true, false properti dari kotak centang.jQuery:
sumber
Saya merekomendasikan untuk menggunakan keduanya, prop dan attr karena saya memiliki masalah dengan Chrome dan saya menyelesaikannya menggunakan kedua fungsi tersebut.
sumber
$("input[type='checkbox'], input[type='radio']").prop("checked", false).attr("checked", false).removeAttr("checked");
Alternatif lain untuk melakukan hal yang sama adalah dengan memfilter atribut type = checkbox :
atau
Ingatlah bahwa Perbedaan antara atribut dan properti dapat menjadi penting dalam situasi tertentu. Sebelum jQuery 1.6 , metode .attr () terkadang memperhitungkan nilai properti saat mengambil beberapa atribut, yang dapat menyebabkan perilaku tidak konsisten. Mulai jQuery 1.6, metode .prop () menyediakan cara untuk mengambil nilai properti secara eksplisit, sementara .attr () mengambil atribut.
Tahu lebih banyak ...
sumber