$().data() Vs $().attr() Untuk Mengendalikan Data
Apabila berinteraksi dengan elemen DOM, pembangun sering menggunakan $.data( ) dan kaedah $.attr() untuk berinteraksi dengan atribut data. Memahami perbezaan mereka adalah penting untuk pengurusan data yang cekap.
Perbezaan dalam Penggunaan
$.data():
- Menyimpan data dalam jQuery's $.cache, bukan secara langsung pada elemen DOM.
- Digunakan untuk penyimpanan data tersuai dan manipulasi yang tidak disimpan secara eksplisit sebagai atribut.
$.attr("data-attribute", "value"):
- Menambah atau mengubah suai data atribut terus pada elemen DOM.
- Digunakan untuk mengakses atau menetapkan data yang disimpan dalam HTML5 atribut data.
Penyimpanan dan Pendapatan Data
- Apabila menggunakan $.data(), data disimpan sebagai objek pada elemen jQuery, membenarkan objek dan rujukan yang kompleks untuk disimpan.
- $.attr(), sebaliknya, menyimpan data sebagai rentetan dalam data-attribute.
- Atribut dengan nama sempang ditukar secara automatik kepada camelCase apabila diambil menggunakan $.data(), manakala penukaran ini tidak digunakan pada $.attr().
- $.data () juga melakukan penghantaran automatik nilai (cth., menukar "benar" kepada benar) dan menyokong JSON menghurai.
Bila Menggunakan Setiap Kaedah
-
Gunakan $.data(): Apabila bekerja dengan data tersuai atau apabila anda memerlukan storan data yang kompleks , rujukan objek atau keupayaan penghantaran automatik.
-
Gunakan $.attr("data-attribute", "nilai"): Apabila menetapkan atau mengakses nilai data yang disimpan dalam atribut data HTML5 atau apabila anda memerlukan nilai secara khusus sebagai rentetan.
Pertimbangan Tambahan
- $.data() menggunakan mekanisme caching, yang boleh menyebabkan data tidak dikemas kini dalam masa nyata.
- Dalam jQuery 1.8 rc 1 dan lebih baru, gelagat penghantaran automatik berubah, menjejaskan penukaran nilai angka.
- Untuk keserasian merentas penyemak imbas, biasanya disyorkan untuk menggunakan nama atribut huruf kecil.
Atas ialah kandungan terperinci $.data() vs. $.attr(): Bila Perlu Menggunakan Kaedah jQuery Yang Mana untuk Pengendalian Data?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!