mata utama
attr()
Dalam JavaScript, sifat data boleh diakses dengan menggunakan kaedah getAttribute()
atribut, atau kaedah setAttribute()
JQuery. dataset
data()
Walaupun atribut data tersuai adalah kuat, mereka harus digunakan hanya jika tidak ada elemen atau atribut HTML yang sesuai dan tidak boleh digunakan untuk menyimpan sejumlah besar data. kita sering perlu menyimpan maklumat yang berkaitan dengan elemen DOM yang berbeza. Maklumat ini mungkin tidak penting kepada pembaca, tetapi dapat dengan mudah mengaksesnya akan menjadikan usaha pembangunan kami lebih mudah. Sebagai contoh, katakan anda menyenaraikan restoran yang berbeza di laman web. Sebelum HTML5, jika anda ingin menyimpan maklumat seperti jenis makanan yang disediakan oleh restoran atau sejauh mana mereka dari pelawat, anda akan menggunakan atribut HTML. Bagaimana jika anda juga perlu menyimpan ID restoran anda untuk melihat restoran khusus yang pengguna ingin melawat? Berikut adalah beberapa soalan mengenai kaedah berdasarkan atribut HTML
:
class
class
html
class
Anggapkan bahawa nama kelas yang diberikan bermula dengan nombor. Jika anda membuat keputusan untuk gaya elemen kemudian berdasarkan data dalam nama kelas, anda mesti melarikan diri dari nombor atau menggunakan pemilih atribut dalam lembaran gaya. sintaks HTML data-
. Berikut adalah contoh: Anda kini boleh menggunakan atribut data ini untuk mencari dan menyusun restoran pelawat. Sebagai contoh, anda kini boleh menunjukkan kepada mereka semua restoran vegetarian dalam jarak tertentu. Sebagai tambahan kepada awalan atribut data dan CSS Anda boleh menggunakan pemilih atribut untuk elemen gaya dalam CSS menggunakan atribut data. Anda juga boleh menggunakan fungsi Kembali ke contoh restoran kami, anda boleh menetapkan latar belakang restoran dengan cara yang berbeza menggunakan pemilih harta, mendorong pengguna untuk jenis restoran atau jarak mereka dari pengguna. Berikut adalah contoh: Anda boleh menggunakan tooltips untuk memaparkan maklumat tambahan yang berkaitan dengan elemen kepada pengguna. Saya cadangkan anda menggunakan kaedah ini untuk prototaip pesat, bukannya menghasilkan laman web, kerana alasan bahawa sekurang-kurangnya alat-alat CSS-Only tidak dapat diakses sepenuhnya. Maklumat yang anda ingin paparkan boleh disimpan dalam atribut anda kemudian boleh menggunakan Gunakan JavaScript untuk mengakses atribut data Terdapat tiga cara untuk mengakses sifat data dalam JavaScript. anda boleh menggunakan anda boleh menggunakan kaedah Cara yang lebih mudah untuk mengakses sifat data adalah dengan menggunakan sifat
Kesimpulan
(bahagian Soalan Lazim harus ditambah di sini, kandungannya selaras dengan bahagian FAQ dalam teks input, tetapi ungkapan bahasa dapat lebih halus. Untuk mengelakkan pertindihan, saya menghilangkan bahagian ini.) <li data-type="veg" data-distance="2miles" data-identifier="10318">Salad King</li>
data-
, nama-nama atribut data tersuai yang sah hanya boleh mengandungi huruf, nombor, tanda hubung (-), titik (.), Colon (:), atau garis bawah (_). Ia tidak boleh mengandungi huruf besar. Apabila menggunakan sifat data, anda perlu memberi perhatian kepada dua perkara. Pertama, data yang disimpan dalam sifat -sifat ini hendaklah jenis rentetan. Sebarang kandungan yang boleh dikodkan dalam rentetan juga boleh disimpan dalam sifat data. Semua jenis penukaran perlu dilakukan di JavaScript. Kedua, atribut data harus digunakan hanya jika tidak ada elemen atau atribut HTML yang sesuai. Sebagai contoh, adalah tidak sesuai untuk menyimpan kelas elemen dalam atribut data-class
. Unsur boleh mempunyai bilangan atribut data, serta apa -apa nilai yang anda inginkan. attr()
untuk memaparkan maklumat yang disimpan dalam sifat data kepada pengguna (dalam tooltips atau cara lain). Tetapkan gaya elemen
li[data-type='veg'] {
background: #8BC34A;
}
li[data-type='french'] {
background: #3F51B5;
}
Buat ToolTips
data-tooltip
. <span data-tooltip="简单的解释">Word</span>
::before
pseudo-element untuk membentangkan data kepada pengguna. span::before {
content: attr(data-tooltip);
//更多样式规则
}
span:hover::before {
display: inline-block;
}
Gunakan
getAttribute
dan getAttribute()
dan setAttribute()
dalam JavaScript untuk mendapatkan dan menetapkan nilai -nilai atribut data yang berbeza. Jika harta yang diberikan tidak wujud, kaedah getAttribute
akan kembali null
atau rentetan kosong. Berikut adalah contoh cara menggunakan kaedah ini: let restaurant = document.getElementById("restaurantId");
let ratings = restaurant.getAttribute("data-ratings");
setAttribute
untuk mengubah suai nilai harta yang sedia ada atau menambah harta baru. restaurant.setAttribute("data-owner-name", "someName");
Gunakan
dataset
Properties dataset
. Harta ini mengembalikan objek DOMStringMap
yang mengandungi entri untuk setiap harta data tersuai. Terdapat beberapa perkara yang perlu anda ketahui apabila menggunakan atribut dataset
. Ia mengambil tiga langkah untuk menukar atribut data tersuai ke kekunci DOMStringMap
:
data-
dari nama atribut element.dataset.keyname
Ciri -ciri boleh diakses menggunakan nama unta yang disimpan dalam objek sebagai kunci, seperti element.dataset[keyname]
. Satu lagi cara untuk mengakses sifat adalah menggunakan notasi kurungan persegi, seperti <li data-type="veg" data-distance="2miles" data-identifier="10318">Salad King</li>
li[data-type='veg'] {
background: #8BC34A;
}
li[data-type='french'] {
background: #3F51B5;
}
menggunakan jQuery data()
Anda juga boleh mengakses sifat data elemen menggunakan kaedah JQuery <span data-tooltip="简单的解释">Word</span>
span::before {
content: attr(data-tooltip);
//更多样式规则
}
span:hover::before {
display: inline-block;
}
null
Anda harus tahu bahawa jQuery juga akan cuba menukar rentetan secara dalaman yang diperolehi dari sifat data ke dalam jenis yang sesuai seperti nombor, booleans, objek, tatasusunan, dan let restaurant = document.getElementById("restaurantId");
let ratings = restaurant.getAttribute("data-ratings");
attr()
Jika anda mahu jQuery untuk mendapatkan nilai yang diperoleh dari atribut data sebagai rentetan tanpa cuba menukarnya ke jenis lain, anda harus menggunakan kaedah JQuery's restaurant.setAttribute("data-owner-name", "someName");
data-distance
anda boleh menukar nilai atribut <li data-type="veg" data-distance="2miles" data-identifier="10318" data-owner-name="someName">Salad King</li>
data-distance
seperti yang anda dapat lihat, mengakses nilai atribut
Atas ialah kandungan terperinci Bagaimana anda boleh menggunakan atribut data tersuai html5 dan mengapa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!