Rumah > hujung hadapan web > tutorial css > Bagaimanakah Saya Boleh Mengakses dengan Tepat Harta `paparan` Elemen DOM?

Bagaimanakah Saya Boleh Mengakses dengan Tepat Harta `paparan` Elemen DOM?

Patricia Arquette
Lepaskan: 2024-12-26 03:44:09
asal
661 orang telah melayarinya

How Can I Accurately Access the `display` Property of DOM Elements?

Mengakses Sifat Paparan Elemen DOM Dengan Tepat

Mendapatkan semula sifat paparan unsur DOM boleh kelihatan mudah, tetapi hasil yang tidak dijangka mungkin timbul. Pertimbangkan contoh berikut:

var a = (document.getElementById('a')).style;
alert(a.display);
Salin selepas log masuk

Makluman ini mungkin memaparkan rentetan kosong dan bukannya nilai "tiada" yang dijangkakan. Mengapa ini berlaku?

Isunya terletak pada perbezaan antara nilai atribut CSS dan gaya yang digunakan.

Nilai Atribut CSS lwn. Gaya Gunaan

Sifat .style.*, termasuk .display, memetakan kepada nilai atribut CSS, bukan pada gaya yang digunakan. Gaya yang digunakan mencerminkan hasil lata CSS dan mungkin berbeza daripada nilai atribut.

Dalam contoh yang diberikan, sifat paparan elemen "a" ditetapkan kepada "tiada" dalam gaya atribut CSS:

a {
  display: none;
}
Salin selepas log masuk

Walau bagaimanapun, gaya yang digunakan mungkin berbeza disebabkan oleh helaian gaya luaran atau pengubahsuaian dinamik.

Menggunakan getComputedStyle

Untuk mendapatkan semula gaya yang digunakan dengan betul, gunakan kaedah getComputedStyle(). Ia memerlukan elemen sebagai hujah dan mengembalikan objek CSSStyleDeclaration yang mengandungi gaya CSS yang dikira.

var a = (document.getElementById('a'));
alert(getComputedStyle(a).display);  // Displays "none" as expected
Salin selepas log masuk

Pendekatan Alternatif: Togol Kelas

Sebagai alternatif, pertimbangkan untuk menggunakan Kelas CSS untuk menogol keterlihatan elemen. Pendekatan ini memisahkan pembentangan daripada logik dan mengelakkan keperluan untuk memanipulasi atribut CSS secara langsung.

.hidden {
  display: none;
}
Salin selepas log masuk
var p = document.getElementById('p');
p.classList.toggle('hidden'); // Toggles the display property
Salin selepas log masuk

Dengan menggunakan getComputedStyle atau togol kelas, anda boleh mengakses dan mengawal sifat paparan unsur DOM dengan tepat.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengakses dengan Tepat Harta `paparan` Elemen DOM?. 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