Rumah > hujung hadapan web > tutorial css > Mengapakah element.style.display mengembalikan rentetan kosong apabila gaya ditakrifkan dalam CSS?

Mengapakah element.style.display mengembalikan rentetan kosong apabila gaya ditakrifkan dalam CSS?

Susan Sarandon
Lepaskan: 2024-11-06 13:56:02
asal
242 orang telah melayarinya

Why does element.style.display return an empty string when styles are defined in CSS?

Memahami Gelagat Elemen.style Property dalam JavaScript

The element.style Property dalam JavaScript berkelakuan berbeza apabila anda mentakrifkan gaya dalam CSS berbanding menetapkannya secara langsung melalui atribut gaya elemen.

Apabila anda menetapkan gaya dalam CSS, element.style mengembalikan rentetan kosong untuk sifat seperti paparan. Ini kerana elemen tidak mempunyai sebarang gaya sebaris digunakan dan sifat gaya dalam CSS mengatasi mana-mana gaya sebaris.

Walau bagaimanapun, jika anda menetapkan sifat gaya terus melalui elemen, element.style akan mengembalikan nilai yang anda tetapkan.

Sebab Harta Paparan Kosong

Sebab bagi sifat paparan kosong dalam CSS ialah sifat paparan elemen itu diwarisi daripada elemen induknya atau peraturan gaya CSS lalai. Dalam contoh yang diberikan, sifat paparan ditetapkan untuk menyekat dalam CSS, tetapi elemen itu sendiri tidak menetapkan sifat paparan secara eksplisit.

Oleh itu, apabila anda mengakses sifat element.style.display, ia kembali rentetan kosong kerana tiada gaya sebaris digunakan pada elemen dan gaya yang diwarisi daripada CSS tidak boleh diakses melalui element.style.

Mendapatkan semula Gaya yang Digunakan oleh CSS

Jika anda perlu mendapatkan semula gaya yang digunakan oleh CSS, anda boleh menggunakan kaedah window.getComputedStyle(). Kaedah ini mengembalikan objek yang mewakili nilai gaya yang dikira untuk elemen, termasuk gaya yang diwarisi daripada elemen induk dan digunakan melalui helaian gaya berlatarkan.

Contohnya:

const displayValue = window.getComputedStyle(document.getElementById('test')).display;
Salin selepas log masuk

Dalam kes ini, displayValue akan mengandungi nilai "blok" seperti yang dinyatakan dalam CSS, walaupun element.style.display mengembalikan rentetan kosong.

CSS Sebaris lwn. CSS Luaran

Walaupun CSS sebaris tidak dianggap sebagai amalan yang baik untuk modulariti dan kebolehselenggaraan kod, anda masih harus sedar tentang gelagat berbeza gaya sebaris dan luaran apabila bekerja dengan sifat elemen.style.

Dengan memahami tingkah laku ini, anda boleh mendapatkan semula atau mengubah suai gaya dengan tepat dalam aplikasi JavaScript dan memisahkan kebimbangan kod HTML, CSS dan JavaScript dengan berkesan.

Atas ialah kandungan terperinci Mengapakah element.style.display mengembalikan rentetan kosong apabila gaya ditakrifkan dalam CSS?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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