Jadual Kandungan
Jadual Kandungan
Pengenalan
Tatabahasa
Bolehkah anda menggunakan atribut data sahaja?
Apa yang tidak boleh dilakukan dengan atribut data
Gaya menggunakan atribut data
Kekhususan pemilih atribut
Nilai harta yang tidak sensitif
Bayangkan sifat data penggunaan
Contoh penggunaan gaya
Mengakses sifat data dalam JavaScript
Data json dalam sifat data
Kes penggunaan JavaScript
spesifikasi
Sokongan penyemak imbas
Desktop
PC mudah alih/tablet
Rumah hujung hadapan web tutorial css Panduan Atribut Data HTML

Panduan Atribut Data HTML

Apr 11, 2025 am 11:50 AM

Panduan Atribut Data HTML

Jadual Kandungan

  1. Pengenalan
  2. Tatabahasa
  3. Gaya menggunakan atribut data
  4. Mengakses sifat data dalam JavaScript

Pengenalan

Unsur -unsur HTML boleh mempunyai atribut yang digunakan untuk sebarang tujuan, dari maklumat kebolehaksesan ke kawalan gaya.

<div aria-label="Names" role="region"></div>
Salin selepas log masuk

Pendekatan yang tidak terikat adalah untuk mewujudkan sifat anda sendiri, atau menggunakan semula sifat sedia ada untuk ciri-ciri yang tidak berkaitan.

<div highlight="true"></div>
<div width="large"></div>
Salin selepas log masuk

Terdapat banyak sebab buruk untuk melakukan ini. HTML anda akan menjadi tidak sah, yang mungkin tidak mempunyai kesan negatif sebenar, tetapi akan kehilangan perasaan hangat dan kabur HTML yang berkesan. Alasan yang paling menarik ialah HTML adalah bahasa yang berkembang, dan hanya kerana sifat dan nilai yang tidak berfungsi hari ini tidak bermakna mereka tidak akan bekerja pada masa akan datang.

Berita baiknya ialah: anda boleh membuat sifat anda sendiri. Anda hanya perlu awalan mereka dengan data-* dan anda boleh melakukan apa sahaja yang anda mahukan!

Tatabahasa

Ia sangat mudah untuk dapat membuat atribut HTML anda sendiri dan meletakkan maklumat anda sendiri ke dalamnya. Nasib baik, anda boleh melakukannya! Inilah atribut data yang digunakan. Mereka kelihatan seperti ini:

<div data-foo=""></div>
<div data-size="large"></div>
Salin selepas log masuk
  • Atribut data sering dipanggil data-* atribut kerana mereka sentiasa dalam format ini. data perkataan, kemudian dash - , kemudian teks lain yang anda boleh fikirkan.

    Bolehkah anda menggunakan atribut data sahaja?

    <div data=""></div>
    Salin selepas log masuk

    Ini mungkin tidak menyebabkan sebarang kemudaratan, tetapi anda tidak akan dapat mendapatkan API JavaScript yang akan kami sampaikan kemudian dalam panduan ini. Anda sebenarnya mencipta atribut untuk diri sendiri, yang tidak digalakkan, seperti yang saya nyatakan dalam pengenalan.

    Apa yang tidak boleh dilakukan dengan atribut data

    Simpan kandungan yang harus diakses. Sekiranya kandungannya dapat dilihat atau dibaca pada halaman, jangan hanya memasukkannya ke dalam sifat data, dan pastikan kandungannya berada di dalam kandungan HTML.

    <div data-name="Chris Coyier"></div>
    <div>
      Chris Coyier
    </div>
    Salin selepas log masuk

    Berikut adalah maklumat lanjut mengenai kandungan tersembunyi.

    Gaya menggunakan atribut data

    CSS boleh memilih elemen HTML berdasarkan atribut dan nilai mereka.

     /* Pilih mana -mana elemen dengan atribut data dan nilai ini*/
    [data-saiz = "besar"] {
      Padding: 2rem;
      saiz font: 125%;
    }
    /* Anda boleh mengehadkannya ke elemen atau kelas atau apa -apa lagi*/
    butang [data-jenis = "muat turun"] {}
    .Card [data-pad = "extra"] {}
    Salin selepas log masuk

    Ini boleh menjadi menarik. Cangkuk gaya utama dalam HTML/CSS adalah kelas, dan sementara kelas hebat (mereka mempunyai kekhususan sederhana dan kaedah JavaScript yang bagus melalui classList ), unsur -unsur sama ada memilikinya atau tidak memilikinya (pada dasarnya hidup atau mati ). Menggunakan atribut data-* , anda boleh mendapatkan ciri giliran/mati ini, serta keupayaan untuk memilih berdasarkan nilainya pada tahap kekhususan yang sama.

     / * Jika harta itu wujud, pilih */
    [saiz data] {}
    /* Pilih sama ada atribut mempunyai nilai tertentu*/
    [Data-State = "Open"],
    [aria-expanded = "true"] {}
    / * "Mulailah dengan ..." pemilih, yang bermaksud ini akan sepadan dengan "3" atau mana -mana watak bermula dengan 3, seperti "3.14" */
    [Data-version^= "3"] {}
    / * "Termasuk" bermaksud jika nilai mengandungi rentetan di mana sahaja */
    [data-company*= "Google"] {}
    Salin selepas log masuk

    Kekhususan pemilih atribut

    Ia sama seperti kelas. Kami biasanya menganggap kekhususan sebagai nilai empat bahagian:

    Gaya sebaris, ID, kelas/sifat, tag

    Oleh itu, pemilih harta individu adalah 0, 0, 1, 0 . Pemilih seperti ini:

     div.card [data-foo = "bar"] {}
    Salin selepas log masuk

    akan menjadi 0, 0, 2, 1 . 2 adalah kerana terdapat kelas ( .card ) dan harta ( [data-foo="bar"] ), dan 1 adalah kerana terdapat tag ( div ).

    Kekhususan pemilih atribut lebih rendah daripada ID, lebih tinggi daripada elemen/tag, sama dengan kelas.

    Nilai harta yang tidak sensitif

    Sekiranya anda perlu membetulkan kemungkinan ketidakkonsistenan kes dalam sifat data, pemilih harta menyediakan varian yang tidak sensitif untuk ini.

     /* Akan sepadan<div data-state="open"></div>
    <div data-state="Open"></div>
    <div data-state="OPEN"></div>
    <div data-state="oPeN"></div>
    */
    [data-state = "buka" i] {}
    Salin selepas log masuk

    Ia adalah huruf kecil i dalam pemilih kurungan persegi.

    Bayangkan sifat data penggunaan

    CSS membolehkan anda mengekstrak nilai atribut data dan memaparkannya apabila diperlukan.

     /*<div data-emoji="✅"> */
    [data-emoji] :: sebelum {
      Kandungan: ATTR (Data-Emoji); / * Kembali '✅' */
      margin-kanan: 5px;
    }<h4 id="Contoh-penggunaan-gaya"> Contoh penggunaan gaya</h4>
    <p> Anda boleh menggunakan atribut data untuk menentukan bilangan lajur yang diperlukan untuk bekas grid.</p>
    <pre class="brush:php;toolbar:false"><div data-columns="2"></div>
    <div data-columns="3"></div>
    <div data-columns="4"></div>
    Salin selepas log masuk

    Mengakses sifat data dalam JavaScript

    Seperti mana -mana atribut lain, anda boleh mengakses nilai menggunakan kaedah getAttribute biasa.

     biarkan nilai = el.getAttribute ("Data-State");
    // Anda juga boleh menetapkan nilai.
    // pulangan data-state = "runtuh"
    el.setAttribute ("Data-State", "Runtuh");
    Salin selepas log masuk

    Tetapi atribut data juga mempunyai API khas mereka sendiri. Katakan anda mempunyai elemen dengan pelbagai atribut data (ini benar -benar ok):

    Jika elemen anda mempunyai rujukan, anda boleh menetapkan dan mendapatkan sifat seperti ini:

     // mendapatkan span.dataset.info; // 123
    span.dataset.index; // 2
    // set span.dataset.prefix = "Mr.";
    span.dataset.emojiicon = "?";
    Salin selepas log masuk

    Perhatikan tatanama unta pada baris terakhir. Ia secara automatik menukarkan atribut gaya kebab dalam HTML (seperti data-this-little-piggy ) kepada nomenclature unta dalam JavaScript (seperti dataThisLittlePiggy ).

    API ini boleh dikatakan tidak sebaik classList , classList mempunyai kaedah yang jelas untuk menambah, memadam, menukar dan menggantikan, tetapi ia lebih baik daripada apa -apa.

    Anda juga boleh mengakses dataset dalam talian:

    Data json dalam sifat data

    Salin selepas log masuk

    Mengapa tidak? Ia hanya rentetan yang boleh diformat ke dalam JSON yang sah (perhatikan sebut harga, dan lain -lain). Anda boleh mengekstrak data dan menghuraikannya seperti yang diperlukan.

     const el = document.QuerySelector ("li");
    biarkan json = el.dataset.person;
    biarkan data = json.parse (json);
    console.log (data.name); // Chris Coyier
    console.log (data.job); // orang web
    Salin selepas log masuk

    Kes penggunaan JavaScript

    Konsepnya ialah anda boleh menggunakan sifat data untuk meletakkan maklumat ke HTML, yang JavaScript mungkin perlu diakses untuk melaksanakan operasi tertentu.

    Contoh umum berkaitan dengan fungsi pangkalan data. Katakan anda mempunyai butang "suka":

    Butang ini boleh mengklik pengendali, yang melakukan permintaan AJAX ke pelayan apabila diklik untuk meningkatkan bilangan suka dalam pangkalan data. Ia tahu rekod mana yang akan dikemas kini kerana ia mendapatnya dari sifat data.

    spesifikasi

    • Tahap Pemilih 4 (Draf Kerja)
    • Tahap pemilih 3 (disyorkan)
    • Tahap Pemilih 2, Semakan 1 (Definisi Awal)

    Sokongan penyemak imbas

    Penyemak imbas ini menyokong data dari CANIUSE, yang mengandungi lebih banyak maklumat. Nombor menunjukkan bahawa penyemak imbas menyokong ciri ini dalam versi ini dan kemudian.

    Desktop

    PC mudah alih/tablet

  • Atas ialah kandungan terperinci Panduan Atribut Data HTML. 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)

    Vue 3 Vue 3 Apr 02, 2025 pm 06:32 PM

    Ia &#039; s! Tahniah kepada pasukan Vue untuk menyelesaikannya, saya tahu ia adalah usaha besar dan lama datang. Semua dokumen baru juga.

    Bolehkah anda mendapatkan nilai harta CSS yang sah dari penyemak imbas? Bolehkah anda mendapatkan nilai harta CSS yang sah dari penyemak imbas? Apr 02, 2025 pm 06:17 PM

    Saya mempunyai seseorang yang menulis dengan soalan yang sangat legit ini. Lea hanya blog tentang bagaimana anda boleh mendapatkan sifat CSS yang sah dari penyemak imbas. That &#039; s seperti ini.

    Sedikit di CI/CD Sedikit di CI/CD Apr 02, 2025 pm 06:21 PM

    Saya &#039;

    Kad yang disusun dengan kedudukan melekit dan sasaran sass Kad yang disusun dengan kedudukan melekit dan sasaran sass Apr 03, 2025 am 10:30 AM

    Pada hari yang lain, saya melihat sedikit ini sangat indah dari laman web Corey Ginnivan di mana koleksi kad timbunan di atas satu sama lain semasa anda menatal.

    Menggunakan Markdown dan Penyetempatan di Editor Blok WordPress Menggunakan Markdown dan Penyetempatan di Editor Blok WordPress Apr 02, 2025 am 04:27 AM

    Jika kita perlu menunjukkan dokumentasi kepada pengguna secara langsung dalam editor WordPress, apakah cara terbaik untuk melakukannya?

    Membandingkan penyemak imbas untuk reka bentuk responsif Membandingkan penyemak imbas untuk reka bentuk responsif Apr 02, 2025 pm 06:25 PM

    Terdapat beberapa aplikasi desktop ini di mana matlamat menunjukkan laman web anda pada dimensi yang berbeza pada masa yang sama. Oleh itu, anda boleh menulis

    Kenapa kawasan -kawasan yang dikurangkan ungu di susun atur flex tersilap dianggap sebagai 'ruang limpahan'? Kenapa kawasan -kawasan yang dikurangkan ungu di susun atur flex tersilap dianggap sebagai 'ruang limpahan'? Apr 05, 2025 pm 05:51 PM

    Soalan mengenai kawasan slash ungu dalam susun atur flex Apabila menggunakan susun atur flex, anda mungkin menghadapi beberapa fenomena yang mengelirukan, seperti dalam alat pemaju (D ...

    Cara menggunakan grid CSS untuk tajuk dan kaki melekit Cara menggunakan grid CSS untuk tajuk dan kaki melekit Apr 02, 2025 pm 06:29 PM

    CSS Grid adalah koleksi sifat yang direka untuk menjadikan susun atur lebih mudah daripada yang pernah berlaku. Seperti apa -apa, ada sedikit keluk pembelajaran, tetapi grid adalah

    See all articles