Sekiranya anda perlu mengubah gaya elemen dengan JavaScript, biasanya lebih baik untuk menukar nama kelas dan CSS sudah ada di halaman itu berlaku dan ubah gaya. Walau bagaimanapun, terdapat pengecualian untuk setiap peraturan. Sebagai contoh, anda mungkin ingin mengubah kelas pseudo secara program (misalnya :hover
). Anda tidak dapat melakukannya melalui JavaScript dengan alasan yang sama style=""
atribut sebaris tidak dapat mengubah kelas semu.
Anda perlu memasukkan elemen baru ke halaman dengan gaya yang betul di dalamnya. Sebaiknya suntikan di bahagian bawah halaman sehingga mengatasi CSS anda di atasnya. Mudah dengan jQuery:
function injectStyles(rule) ( var div = $(" ", ( html: '-' + rule + '' )).appendTo("body"); )
Penggunaan
injectStyles('a:hover ( color: red; )');
Demo
Maklumat lanjut
- Kebiasaan suntikan gaya di IE (Ryan Seddon).
- Benang Stack Overflow.