Pokud potřebujete změnit styl prvku pomocí JavaScriptu, je obvykle lepší změnit název třídy a nechat CSS již na stránce vstoupit v platnost a změnit styl. Z každého pravidla však existují výjimky. Například můžete chtít programově změnit pseudotřídu (např. :hover
). Ze stejného důvodu to nemůžete udělat pomocí JavaScriptu, protože inline style=""
atributy nemohou změnit pseudo třídy.
Budete muset na stránku vložit nový prvek se správnými styly. Nejlepší je vložit jej do spodní části stránky, aby nad ním přepsal váš CSS. Snadné s jQuery:
function injectStyles(rule) ( var div = $(" ", ( html: '-' + rule + '' )).appendTo("body"); )
Používání
injectStyles('a:hover ( color: red; )');
Ukázka
Více informací
- Stylová injekce v IE (Ryan Seddon).
- Vlákno přetečení zásobníku.