Jadual Kandungan
Tetapkan gaya elemen
Buat ToolTips
Gunakan getAttribute dan setAttribute
Gunakan dataset Properties
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

Feb 17, 2025 am 08:24 AM

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apa yang perlu saya lakukan jika saya menghadapi percetakan kod yang dihiasi untuk resit kertas terma depan? Apa yang perlu saya lakukan jika saya menghadapi percetakan kod yang dihiasi untuk resit kertas terma depan? Apr 04, 2025 pm 02:42 PM

Soalan dan penyelesaian yang sering ditanya untuk percetakan tiket kertas terma depan dalam pembangunan front-end, percetakan tiket adalah keperluan umum. Walau bagaimanapun, banyak pemaju sedang melaksanakan ...

Demystifying JavaScript: Apa yang berlaku dan mengapa penting Demystifying JavaScript: Apa yang berlaku dan mengapa penting Apr 09, 2025 am 12:07 AM

JavaScript adalah asas kepada pembangunan web moden, dan fungsi utamanya termasuk pengaturcaraan yang didorong oleh peristiwa, penjanaan kandungan dinamik dan pengaturcaraan tak segerak. 1) Pengaturcaraan yang didorong oleh peristiwa membolehkan laman web berubah secara dinamik mengikut operasi pengguna. 2) Penjanaan kandungan dinamik membolehkan kandungan halaman diselaraskan mengikut syarat. 3) Pengaturcaraan Asynchronous memastikan bahawa antara muka pengguna tidak disekat. JavaScript digunakan secara meluas dalam interaksi web, aplikasi satu halaman dan pembangunan sisi pelayan, sangat meningkatkan fleksibiliti pengalaman pengguna dan pembangunan silang platform.

Siapa yang dibayar lebih banyak Python atau JavaScript? Siapa yang dibayar lebih banyak Python atau JavaScript? Apr 04, 2025 am 12:09 AM

Tidak ada gaji mutlak untuk pemaju Python dan JavaScript, bergantung kepada kemahiran dan keperluan industri. 1. Python boleh dibayar lebih banyak dalam sains data dan pembelajaran mesin. 2. JavaScript mempunyai permintaan yang besar dalam perkembangan depan dan stack penuh, dan gajinya juga cukup besar. 3. Faktor mempengaruhi termasuk pengalaman, lokasi geografi, saiz syarikat dan kemahiran khusus.

Bagaimana untuk mencapai kesan menatal paralaks dan kesan animasi elemen, seperti laman web rasmi Shiseido?
atau:
Bagaimanakah kita dapat mencapai kesan animasi yang disertai dengan menatal halaman seperti laman web rasmi Shiseido? Bagaimana untuk mencapai kesan menatal paralaks dan kesan animasi elemen, seperti laman web rasmi Shiseido? atau: Bagaimanakah kita dapat mencapai kesan animasi yang disertai dengan menatal halaman seperti laman web rasmi Shiseido? Apr 04, 2025 pm 05:36 PM

Perbincangan mengenai realisasi kesan animasi tatal dan elemen Parallax dalam artikel ini akan meneroka bagaimana untuk mencapai yang serupa dengan laman web rasmi Shiseido (https://www.shiseido.co.jp/sb/wonderland/) ... ...

Adakah JavaScript sukar belajar? Adakah JavaScript sukar belajar? Apr 03, 2025 am 12:20 AM

Pembelajaran JavaScript tidak sukar, tetapi ia mencabar. 1) Memahami konsep asas seperti pembolehubah, jenis data, fungsi, dan sebagainya. 2) Pengaturcaraan asynchronous tuan dan melaksanakannya melalui gelung acara. 3) Gunakan operasi DOM dan berjanji untuk mengendalikan permintaan tak segerak. 4) Elakkan kesilapan biasa dan gunakan teknik debugging. 5) Mengoptimumkan prestasi dan mengikuti amalan terbaik.

Evolusi JavaScript: Trend Semasa dan Prospek Masa Depan Evolusi JavaScript: Trend Semasa dan Prospek Masa Depan Apr 10, 2025 am 09:33 AM

Trend terkini dalam JavaScript termasuk kebangkitan TypeScript, populariti kerangka dan perpustakaan moden, dan penerapan webassembly. Prospek masa depan meliputi sistem jenis yang lebih berkuasa, pembangunan JavaScript, pengembangan kecerdasan buatan dan pembelajaran mesin, dan potensi pengkomputeran IoT dan kelebihan.

Bagaimana untuk menggabungkan elemen array dengan ID yang sama ke dalam satu objek menggunakan JavaScript? Bagaimana untuk menggabungkan elemen array dengan ID yang sama ke dalam satu objek menggunakan JavaScript? Apr 04, 2025 pm 05:09 PM

Bagaimana cara menggabungkan elemen array dengan ID yang sama ke dalam satu objek dalam JavaScript? Semasa memproses data, kita sering menghadapi keperluan untuk mempunyai id yang sama ...

Bagaimana untuk melaksanakan fungsi seretan panel dan drop pelarasan yang serupa dengan vscode dalam pembangunan front-end? Bagaimana untuk melaksanakan fungsi seretan panel dan drop pelarasan yang serupa dengan vscode dalam pembangunan front-end? Apr 04, 2025 pm 02:06 PM

Terokai pelaksanaan fungsi seretan panel dan drop panel seperti VSCode di bahagian depan. Dalam pembangunan front-end, bagaimana untuk melaksanakan vscode seperti ...

See all articles