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

Mengapa myDiv.style.display Mengembalikan Kosong Apabila Ditetapkan dalam Lembaran Gaya Induk?

Susan Sarandon
Susan Sarandonasal
2024-11-06 18:51:021061semak imbas

Why Does myDiv.style.display Return Blank When Set in a Master Stylesheet?

myDiv.style.Display Kembali Kosong Apabila Ditetapkan dalam Lembaran Gaya Induk

Apabila menetapkan gaya paparan elemen div menggunakan myDiv.style. paparan (JavaScript), tingkah laku dijangka akan mengembalikan rentetan kosong jika gaya paparan ditetapkan kepada tiada dalam helaian gaya induk. Ini berlaku kerana JavaScript tidak boleh mengakses secara langsung gaya yang dikira, iaitu gaya yang digunakan melalui peraturan CSS.

Untuk menyelesaikan isu ini dan mendapatkan semula gaya paparan yang tepat, adalah disyorkan untuk menggunakan kaedah getComputedStyle(). Kaedah ini membenarkan akses kepada gaya dikira sesuatu elemen, termasuk gaya yang ditakrifkan dalam helaian gaya induk.

Berikut ialah contoh cara menggunakan 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); // Will print 'none' or 'block' or 'inline' etc.

Dengan menggunakan getComputedStyle() , anda boleh mendapatkan semula gaya paparan elemen dengan tepat, walaupun ia ditetapkan dalam helaian gaya induk. Ini memastikan kefungsian yang betul apabila menogol gaya paparan menggunakan JavaScript.

Atas ialah kandungan terperinci Mengapa myDiv.style.display Mengembalikan Kosong Apabila Ditetapkan dalam Lembaran Gaya Induk?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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