Rumah > hujung hadapan web > tutorial css > Mengapakah `myDiv.style.display` Mengembalikan Rentetan Kosong Apabila Ditetapkan dalam Lembaran Gaya Induk?

Mengapakah `myDiv.style.display` Mengembalikan Rentetan Kosong Apabila Ditetapkan dalam Lembaran Gaya Induk?

Patricia Arquette
Lepaskan: 2024-11-11 10:57:02
asal
668 orang telah melayarinya

Why Does `myDiv.style.display` Return an Empty String When Set in a Master Stylesheet?

Kesan Lembaran Gaya Induk pada Gaya paparan

Apabila memaparkan kandungan menggunakan gaya paparan HTML, adalah penting untuk memahami cara lembaran gaya sebaris dan induk mempengaruhi tingkah lakunya . Artikel ini meneroka isu di mana myDiv.style.display mengembalikan rentetan kosong apabila ditetapkan dalam helaian gaya induk, tidak seperti apabila ditetapkan dalam baris.

Keadaan Paparan Awal

HTML elemen biasanya bermula dengan nilai paparan lalai, biasanya "sebaris". Untuk mengatasi masalah ini, pembangun sering menggunakan gaya sebaris:

<div>
Salin selepas log masuk

Walau bagaimanapun, untuk meningkatkan kebolehselenggaraan, adalah berfaedah untuk menetapkan gaya awal ini dalam helaian gaya induk.

Gelagat Tidak Dijangka

Apabila menetapkan paparan:tiada dalam helaian gaya induk, keadaan awal unsur itu tetap tersembunyi. Walau bagaimanapun, mengakses myDiv.style.display menggunakan JavaScript pada mulanya mengembalikan rentetan kosong. Ini berbeza daripada gaya sebaris, di mana ia mengembalikan "tiada".

Isu Selesai Menggunakan getComputedStyle

Penyelesaian kepada isu ini terletak pada pemahaman bahawa mengakses sifat CSS elemen secara langsung (cth., element.style.display) mendapatkan semula tetapan gaya sebaris mereka. Untuk mengakses gaya yang ditakrifkan dalam helaian gaya luaran atau lalai penyemak imbas, pembangun mesti menggunakan kaedah getComputedStyle:

function getStyle(id, name) {
    var element = document.getElementById(id);
    return element.currentStyle
        ? element.currentStyle[name]
        : window.getComputedStyle
        ? window.getComputedStyle(element, null).getPropertyValue(name)
        : null;
}

var display = getStyle('myDiv', 'display');
alert(display); // prints 'none' or 'block' or 'inline' etc.
Salin selepas log masuk

Dengan menggunakan getComputedStyle, pembangun boleh mendapatkan semula nilai yang ditetapkan secara luaran dengan tepat, termasuk nilai dalam helaian gaya induk.

Atas ialah kandungan terperinci Mengapakah `myDiv.style.display` Mengembalikan Rentetan Kosong Apabila Ditetapkan dalam Lembaran Gaya Induk?. 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