Mengubah suai Peraturan CSS Kelas Pseudo dengan JavaScript
Apabila bekerja dengan CSS, selalunya perlu menggunakan gaya tertentu pada elemen berdasarkan keadaannya atau interaksi. Pemilih kelas pseudo seperti :link, :hover, dan :active membolehkan anda menetapkan peraturan untuk elemen dalam pelbagai keadaan. Walau bagaimanapun, bagaimana jika anda ingin mengubah suai peraturan ini secara dinamik menggunakan JavaScript?
Bolehkah Peraturan Kelas Pseudo Diubah Suai daripada JavaScript?
Walaupun kelihatan intuitif untuk mengubah pseudo -peraturan kelas daripada JavaScript, ia tidak boleh dilakukan secara langsung. Pemilih kelas pseudo menggunakan gaya mereka secara global pada semua elemen padanan, tanpa mengira kedudukan mereka dalam DOM atau mana-mana atribut elemen tertentu.
Pendekatan Alternatif
Untuk mencapai yang diingini kesan, pertimbangkan pendekatan alternatif berikut:
Contoh Menggunakan Penggayaan Elemen
const buttonElement = document.querySelector('button'); buttonElement.addEventListener('mouseenter', () => { buttonElement.style.backgroundColor = 'red'; }); buttonElement.addEventListener('mouseleave', () => { buttonElement.style.backgroundColor = 'inherit'; });
Contoh Menggunakan Lembaran Gaya Pengubahsuaian
const stylesheet = document.styleSheets[0]; stylesheet.insertRule('#button:hover { background-color: red; }', 0);
Sokongan Penyemak Imbas
Manipulasi dinamik lembaran gaya menggunakan JavaScript disokong oleh kebanyakan penyemak imbas moden. Walau bagaimanapun, pelayar lama atau mereka yang mempunyai keupayaan JavaScript terhad mungkin tidak menyokong sepenuhnya teknik ini.
Atas ialah kandungan terperinci Bolehkah JavaScript Mengubah Suai Secara Terus Peraturan Kelas Pseudo CSS?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!