Rumah  >  Artikel  >  hujung hadapan web  >  Perbezaan antara attr() dan prop() dalam jQuery apabila mengubah suai attribute_jquery yang diperiksa

Perbezaan antara attr() dan prop() dalam jQuery apabila mengubah suai attribute_jquery yang diperiksa

WBOY
WBOYasal
2016-05-16 16:41:371368semak imbas

Apabila membuat butang pilih kotak semak, masalah berlaku Gunakan penyataan $.attr('checked',true) untuk menukar atribut kotak semak itu adalah yang pertama dalam penyemak imbas chrome 't berfungsi selepas klik pertama adalah sah.

Baidu mengambil masa yang lama untuk mengetahui sebabnya ialah atribut HTML dibahagikan kepada atribut dan sifat Mari kita panggil sifat yang terakhir buat masa ini.

Atribut yang ditandakan dibahagikan kepada atribut->ditandai dan harta->true, false.

Untuk kotak pilihan, jika checked="checked" tidak ditakrifkan, hasil alert($.attr("checked")) tidak ditentukan. Jika ditakrifkan, hasilnya disemak. Atribut tidak berubah apabila status kotak semak berubah.

Jika prop($.attr("checked")) digunakan, output masing-masing adalah palsu dan benar. Harta berubah apabila ia berubah.

Jadi prop() hendaklah digunakan apabila mengubah suai atribut yang ditandakan. prop() telah ditambah selepas jQuery 1.6.

Carta tentang sifat lain yang serupa di Internet:

Selain itu, dalam versi sebelum IE9, jika harta itu tidak dipadamkan sebelum elemen DOM dialih keluar, menggunakan kaedah .prop() untuk menetapkan nilai sifat elemen DOM (kecuali jenis mudah: nombor, rentetan, boolean ) akan menyebabkan kebocoran ingatan. Untuk menetapkan nilai objek DOM dengan selamat dan mengelakkan kebocoran memori, anda boleh menggunakan kaedah .data(). Saya belum menemuinya lagi, jadi saya akan menulisnya di sini.

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn