Pengesanan Keterlihatan dalam DOM
Apabila bekerja dengan elemen dalam Model Objek Dokumen (DOM), selalunya perlu untuk menentukan sama ada elemen nampak. Dalam JavaScript tulen, tanpa menggunakan pustaka seperti jQuery, menyemak keterlihatan memerlukan pemeriksaan lebih teliti terhadap atribut HTML tertentu.
Untuk menentukan keterlihatan elemen, pertimbangkan atribut berikut:
Dalam isu yang dibangkitkan, pengguna cuba menggunakan window.getComputedStyle(my_element)['display']) untuk menyemak keterlihatan, tetapi ia tidak tepat.
Walau bagaimanapun, pendekatan alternatif tersedia untuk menyemak keterlihatan elemen menggunakan sifat offsetParentnya. Jika elemen atau mana-mana ibu bapanya mempunyai sifat paparan ditetapkan kepada "tiada", offsetParentnya akan menjadi batal. Ini boleh digunakan untuk menentukan sama ada elemen kelihatan atau tidak.
Untuk elemen tanpa kedudukan tetap, fungsi berikut boleh digunakan:
function isHidden(el) { return (el.offsetParent === null); }
Untuk elemen dengan kedudukan tetap, lebih pendekatan yang tepat ialah menggunakan window.getComputedStyle(), yang menyumbang lebih banyak kes tepi.
function isHidden(el) { var style = window.getComputedStyle(el); return (style.display === 'none'); }
Kaedah ini lebih komprehensif tetapi lebih perlahan daripada yang sebelumnya. Jika kelajuan membimbangkan, sebaiknya gunakan sifat offsetParent apabila boleh.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menentukan Keterlihatan Elemen dengan Tepat dalam DOM Menggunakan JavaScript Tulen?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!