Bolehkah JavaScript Mengakses Sifat CSS Tersuai dengan Nama Tidak Sah?

Barbara Streisand
Lepaskan: 2024-10-24 07:07:02
asal
147 orang telah melayarinya

Can JavaScript Access Custom CSS Properties with Invalid Names?

Mengakses Sifat CSS Tersuai Tidak Sah daripada JavaScript

Adalah mungkin untuk mencipta sifat CSS tersuai menggunakan awalan -. Walau bagaimanapun, bolehkah sifat tersuai ini boleh diakses daripada JavaScript?

Malangnya jawapannya tidak, sekurang-kurangnya dalam penyemak imbas utama seperti Chrome dan Firefox. Sifat CSS tersuai dengan nama yang tidak sah hanya diabaikan oleh penghurai CSS. Sebagai contoh, pertimbangkan CSS berikut:

<code class="css">div {
    -my-foo: 42;
}</code>
Salin selepas log masuk

Walaupun CSS ini digunakan pada div, percubaan untuk mengakses sifat -my-foo menggunakan JavaScript tidak akan mengembalikan apa-apa. Objek CSSStyleDeclaration hanya akan mengandungi sifat yang sah, seperti lebar atau tinggi.

Tingkah laku ini mengikut spesifikasi CSSStyleDeclaration. Spesifikasi menyatakan bahawa objek hanya perlu menyertakan "sifat yang ditentukan", yang membayangkan bahawa sifat tersuai tidak dikenali. Walau bagaimanapun, sesetengah pelaksanaan mungkin menyokong akses sifat tersuai, tetapi ini tidak dijamin.

Jika mengakses sifat CSS tersuai adalah penting untuk aplikasi anda, anda boleh memintas pengehadan JavaScript dengan menghuraikan teks CSS mentah. Ini boleh dilakukan menggunakan sifat innerText bagi elemen gaya:

<code class="js">document.getElementsByTagName("style")[0].innerText</code>
Salin selepas log masuk

Walaupun pendekatan ini berfungsi, ia tidak semudah mengakses sifat terus daripada objek CSSStyleDeclaration. Selain itu, ia memerlukan penghuraian dan manipulasi tambahan teks CSS.

Atas ialah kandungan terperinci Bolehkah JavaScript Mengakses Sifat CSS Tersuai dengan Nama Tidak Sah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber: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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!