Rumah > hujung hadapan web > tutorial js > Bagaimana anda boleh menggunakan atribut data tersuai html5 dan mengapa

Bagaimana anda boleh menggunakan atribut data tersuai html5 dan mengapa

William Shakespeare
Lepaskan: 2025-02-17 08:24:12
asal
867 orang telah melayarinya

How You Can Use HTML5 Custom Data Attributes and Why

atribut data tersuai HTML5 membolehkan pemaju menyimpan data tersuai dalam elemen HTML. Mereka menyediakan cara untuk menambah maklumat tambahan kepada elemen HTML yang boleh digunakan oleh JavaScript atau CSS, dengan itu meningkatkan fungsi laman web. Artikel ini akan menjelaskan apa atribut data dan apa yang mereka ada.

mata utama

    atribut data tersuai HTML5 membolehkan pemaju menyimpan maklumat tambahan mengenai elemen HTML yang boleh diakses dan digunakan oleh JavaScript atau CSS, dengan itu meningkatkan fungsi halaman web.
  • .
  • attr() Dalam JavaScript, sifat data boleh diakses dengan menggunakan kaedah
  • dan
  • , 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.
Mengapa menggunakan sifat data tersuai?

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 tidak digunakan untuk menyimpan data tersebut. Tujuan utamanya adalah untuk membolehkan pemaju memberikan maklumat gaya kepada satu set elemen.

    Setiap kali menambah mesej, kelas baru diperlukan untuk menambah elemen. Ini menjadikan data parsing dalam JavaScript untuk mendapatkan maklumat yang diperlukan lebih sukar.
  • 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.
  • Untuk menyelesaikan masalah ini, HTML5 memperkenalkan sifat data tersuai. Semua atribut elemen yang namanya bermula dengan
  • adalah atribut data. Anda juga boleh menggunakan atribut data ini kepada elemen gaya. Seterusnya, mari kita menggali asas -asas sifat data dan belajar bagaimana untuk mengakses nilai mereka dalam CSS dan JavaScript.

sintaks HTML data-

Seperti yang disebutkan sebelumnya, nama atribut data akan sentiasa bermula dengan

. Berikut adalah contoh:

<li data-type="veg" data-distance="2miles" data-identifier="10318">Salad King</li>
Salin selepas log masuk
Salin selepas log masuk

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 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.

atribut data dan CSS

Anda boleh menggunakan pemilih atribut untuk elemen gaya dalam CSS menggunakan atribut data. Anda juga boleh menggunakan fungsi attr() untuk memaparkan maklumat yang disimpan dalam sifat data kepada pengguna (dalam tooltips atau cara lain).

Tetapkan gaya elemen

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:

li[data-type='veg'] {
  background: #8BC34A;
}

li[data-type='french'] {
  background: #3F51B5;
}
Salin selepas log masuk
Salin selepas log masuk

Buat ToolTips

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 data-tooltip.

<span data-tooltip="简单的解释">Word</span>
Salin selepas log masuk
Salin selepas log masuk

anda kemudian boleh menggunakan ::before pseudo-element untuk membentangkan data kepada pengguna.

span::before {
  content: attr(data-tooltip);
  //更多样式规则
}

span:hover::before {
  display: inline-block;
}
Salin selepas log masuk
Salin selepas log masuk

Gunakan JavaScript untuk mengakses atribut data

Terdapat tiga cara untuk mengakses sifat data dalam JavaScript.

Gunakan getAttribute dan setAttribute

anda boleh menggunakan 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");
Salin selepas log masuk
Salin selepas log masuk

anda boleh menggunakan kaedah setAttribute untuk mengubah suai nilai harta yang sedia ada atau menambah harta baru.

restaurant.setAttribute("data-owner-name", "someName");
Salin selepas log masuk
Salin selepas log masuk

Gunakan dataset Properties

Cara yang lebih mudah untuk mengakses sifat data adalah dengan menggunakan sifat 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:

  • Keluarkan awalan data- dari nama atribut
  • Keluarkan sebarang tanda hubung diikuti dengan huruf kecil dari nama dan tukar huruf berikut ke huruf besar
  • watak -watak lain akan tetap sama. Ini bermakna bahawa sebarang tanda hubung diikuti dengan huruf kecil juga akan tetap sama.

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

. Pertimbangkan html berikut:
<li data-type="veg" data-distance="2miles" data-identifier="10318">Salad King</li>
Salin selepas log masuk
Salin selepas log masuk

Berikut adalah beberapa contoh:
li[data-type='veg'] {
  background: #8BC34A;
}

li[data-type='french'] {
  background: #3F51B5;
}
Salin selepas log masuk
Salin selepas log masuk

Kaedah ini kini disokong dalam semua pelayar utama dan anda harus menggunakannya terlebih dahulu untuk mengakses sifat data tersuai.

menggunakan jQuery

data() Anda juga boleh mengakses sifat data elemen menggunakan kaedah JQuery

. Sebelum JQuery Versi 1.6, anda mesti mengakses sifat data menggunakan kod berikut:
<span data-tooltip="简单的解释">Word</span>
Salin selepas log masuk
Salin selepas log masuk

Bermula dari versi 1.6, jQuery mula menggunakan versi unta sifat data. Sekarang anda boleh melakukan perkara yang sama dengan kod berikut:
span::before {
  content: attr(data-tooltip);
  //更多样式规则
}

span:hover::before {
  display: inline-block;
}
Salin selepas log masuk
Salin selepas log masuk

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");
Salin selepas log masuk
Salin selepas log masuk

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

. JQuery mengambil nilainya hanya apabila atribut data diakses untuk kali pertama. Kemudian tidak lagi mengakses atau menukar sifat data. Semua perubahan yang anda buat kepada sifat -sifat ini dibuat secara dalaman dan hanya boleh diakses dalam jQuery. Katakan anda beroperasi pada atribut data item senarai berikut:
restaurant.setAttribute("data-owner-name", "someName");
Salin selepas log masuk
Salin selepas log masuk

data-distance anda boleh menukar nilai atribut

menggunakan kod berikut:
<li data-type="veg" data-distance="2miles" data-identifier="10318" data-owner-name="someName">Salad King</li>
Salin selepas log masuk

data-distance seperti yang anda dapat lihat, mengakses nilai atribut

menggunakan JavaScript asli (bukan jquery) masih akan memberikan hasil lama.

Kesimpulan

Dalam tutorial ini, saya telah merangkumi semua perkara penting mengenai sifat data HTML5. Di samping membuat tooltips dan elemen gaya menggunakan pemilih atribut, anda juga boleh menggunakan sifat data untuk menyimpan dan memaparkan data lain kepada pengguna, seperti pemberitahuan mengenai mesej yang belum dibaca, dan banyak lagi.

(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.)

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!

Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan