Karena pengaturan ini bukan atribut
Itu adalah atribut.
Beberapa atribut didefinisikan sebagai boolean, yang berarti Anda dapat menentukan nilainya dan mengabaikan yang lainnya. yaitu Alih-alih dinonaktifkan = " dinonaktifkan ", Anda hanya menyertakan bagian cetak tebal. Dalam HTML 4, Anda harus memasukkan hanya bagian yang tebal karena versi lengkap ditandai sebagai fitur dengan dukungan terbatas (meskipun itu kurang benar sekarang maka ketika spesifikasi ditulis).
Pada HTML 5, aturan telah berubah dan sekarang Anda hanya memasukkan nama dan bukan nilainya. Ini tidak membuat perbedaan praktis karena nama dan nilainya sama.
The properti DOM juga disebut disabled
dan merupakan boolean yang mengambil true
atau false
.
foo.disabled = true;
Secara teori Anda juga bisa foo.setAttribute('disabled', 'disabled');
dan foo.removeAttribute("disabled")
, tapi saya tidak akan mempercayai ini dengan versi Internet Explorer yang lebih lama (yang terkenal bermasalah ketika menyangkut setAttribute
).
foo
dalamfoo.disabled = true;
? Apakah id tombol itu?untuk menonaktifkan
untuk mengaktifkan
sumber
$('#btnPlaceOrder').disabled = false;
tidak.$('#btnPlaceOrder')[0].disabled = false
sebagai pemilih jquery tampaknya mengembalikan array. Mengangkat bahu.Itu adalah atribut, tetapi atribut boolean (jadi tidak perlu nama, hanya nilai - saya tahu, ini aneh). Anda dapat mengatur persamaan properti di Javascript:
sumber
Coba yang berikut ini:
sumber
Cara resmi untuk menetapkan
disabled
atribut padaHTMLInputElement
adalah ini:Sementara jawaban @ kaushar cukup untuk mengaktifkan dan menonaktifkan
HTMLInputElement
, dan mungkin lebih disukai untuk kompatibilitas lintas-browser karena IE secara historis buggysetAttribute
, itu hanya berfungsi karena atribut atributElement
shadowElement
. Jika properti diatur, maka DOM menggunakan nilai properti secara default daripada nilai atribut yang setara.Ada perbedaan yang sangat penting antara properti dan atribut. Contoh
HTMLInputElement
properti sebenarnya adalahinput.value
, dan di bawah ini menunjukkan cara kerja bayangan:Itulah artinya mengatakan bahwa atribut atribut bayangan. Konsep ini juga berlaku untuk properti yang diwarisi pada
prototype
rantai:Tampilkan cuplikan kode
Saya harap ini menjelaskan segala kebingungan tentang perbedaan antara properti dan atribut.
sumber
Itu masih atribut. Pengaturan ke:
... adalah benar.
sumber
Jika Anda memiliki objek tombol, disebut b:
b.disabled=false;
sumber
Saya pikir cara terbaik adalah:
Ini berfungsi lintas-browser yang baik.
sumber
prop
, bukanattr
.Anda masih bisa menggunakan atribut. Cukup gunakan atribut 'dinonaktifkan' alih-alih 'nilai'.
sumber
disabled="disabled"
atau hanyadisabled
. Nilai string apa pun setara dengan"disabled"
, termasukdisabled="true"
dandisabled="false"
.