Hvis du trenger å endre stilen til et element med JavaScript, er det vanligvis bedre å endre et klassenavn og ha CSS allerede på siden og endre stilen. Imidlertid er det unntak fra hver regel. For eksempel vil du kanskje programmatisk endre pseudoklassen (f.eks. :hover
). Du kan ikke gjøre det gjennom JavaScript av samme grunn at integrerte style=""
attributter ikke kan endre pseudoklasser.
Du må injisere et nytt element på siden med de riktige stilene. Best å injisere den nederst på siden, slik at den overstyrer CSS over den. Enkelt med jQuery:
function injectStyles(rule) ( var div = $(" ", ( html: '-' + rule + '' )).appendTo("body"); )
Bruk
injectStyles('a:hover ( color: red; )');
Demo
Mer informasjon
- Stilinnsprøytningsfunksjoner i IE (Ryan Seddon).
- Stakk overløpstråd.