Mengakses Gaya Elemen daripada CSS Luaran dalam JavaScript
Apabila bekerja dengan elemen HTML yang gayanya ditakrifkan dalam fail CSS luaran, ia mungkin untuk memanipulasi gaya tersebut menggunakan JavaScript. Walau bagaimanapun, terdapat garis panduan khusus untuk diikuti untuk mencapai hasil yang diingini.
Dalam contoh yang diberikan, kod berikut digunakan untuk menukar warna
elemen dengan kelas rumah apabila klik:
function selectHome() { console.log("test"); document.getElementsByClassName("home").style += "background-color:green;"; }
Masalahnya:
Masalah dengan kod ini ialah getElementsByClassName() mengembalikan NodeList, senarai langsung semua elemen padanan. Menetapkan kepada sifat gaya senarai ini secara langsung mengubah suai gaya semua elemen. Untuk menyasarkan elemen tertentu, anda perlu mengakses elemen individu dalam senarai.
Penyelesaian:
Pendekatan yang lebih baik ialah menggunakan querySelector() untuk memilih pertama elemen padanan dan kemudian ubah suai gayanya:
function selectHome() { const homeElement = document.querySelector(".home"); if (homeElement) { homeElement.style.backgroundColor = "green"; } }
Sebagai alternatif, jika anda tahu bahawa akan sentiasa ada satu elemen sahaja dengan kelas yang diberikan, anda boleh menggunakan getElementByClassName()[0] untuk mengaksesnya secara langsung. Walau bagaimanapun, ini biasanya tidak disyorkan, kerana ia sangat bergantung pada andaian mempunyai kelas yang unik dan boleh menyebabkan gelagat yang tidak dijangka jika terdapat berbilang elemen padanan.
Pertimbangan Tambahan:
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengubah Suai Gaya Elemen yang Ditakrifkan dalam CSS Luaran Menggunakan JavaScript dengan Cekap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!