Injiser nye CSS-regler - CSS-triks

Anonim

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.