Bagaimana untuk Mendapatkan Nilai Sifat CSS Tidak Sah/Tersuai dalam JavaScript?

Patricia Arquette
Lepaskan: 2024-10-24 07:12:30
asal
343 orang telah melayarinya

How to Retrieve Values of Invalid/Custom CSS Properties in JavaScript?

Mengakses Nilai Sifat CSS Tidak Sah/Tersuai dalam JavaScript

Apabila mentakrifkan sifat CSS tersuai atau tidak sah seperti "-my-foo", pembangun mungkin tertanya-tanya sama ada mungkin untuk mendapatkan semula nilainya daripada JavaScript.

Untuk menjawab soalan ini, mari andaikan kita mempunyai CSS seperti yang ditunjukkan di bawah:

div {
    -my-foo: 42;
}
Salin selepas log masuk

Percubaan untuk mengakses nilai "-my -foo" daripada JavaScript melalui objek CSSStyleDeclaration mungkin mengakibatkan kesukaran. Ujian dalam Chrome dan Firefox menunjukkan bahawa penyemak imbas ini melangkau sifat yang tidak sah dan hanya mendedahkan yang sah. Sebagai contoh, dengan CSS seperti:

div {
    width: 100px;
    -my-foo: 25px;
}
Salin selepas log masuk

objek CSSStyleDeclaration hanya akan mengandungi kunci berikut:

0: width
cssText: "width: 100px"
length: 1
Salin selepas log masuk

Oleh itu, mendapatkan nilai "-my-foo" daripada JavaScript menggunakan kaedah ini tidak boleh dilaksanakan.

Walau bagaimanapun, spesifikasi Gaya DOM-Level-2 menyatakan bahawa "pelaksanaan [pelayar] dijangka memberikan akses kepada semua sifat yang ditentukan... melalui antara muka CSSStyleDeclaration." Ini menunjukkan bahawa penyemak imbas secara teorinya harus menyenaraikan sifat tidak sah dalam objek, walaupun mereka tidak mengenalinya.

Sebagai penyelesaian, adalah mungkin untuk menghuraikan teks CSS mentah untuk mendapatkan semula nilai sifat tersuai. Walau bagaimanapun, pendekatan ini tidak disyorkan kerana ia melibatkan usaha yang ketara dan mungkin tidak selalu boleh dipercayai atau cekap.

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Nilai Sifat CSS Tidak Sah/Tersuai dalam JavaScript?. 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!