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;
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!