Ha meg kell változtatnia egy elem stílusát JavaScript-szel, általában jobb, ha megváltoztat egy osztálynevet, és az oldalon lévő CSS már érvénybe lép, és megváltoztatja a stílust. Minden szabály alól azonban vannak kivételek. Például érdemes programosan megváltoztatni az álosztályt (pl :hover
.). Ugyanezen okból nem tehet meg JavaScript-en keresztül, az inline style=""
attribútumok nem változtathatják meg az álosztályokat.
Új elemet kell injektálnia az oldalra, benne a megfelelő stílusokkal. Legjobb, ha az oldal aljára fecskendezi be, így felülírja a fölötte lévő CSS-t. Egyszerű a jQuery segítségével:
function injectStyles(rule) ( var div = $(" ", ( html: '-' + rule + '' )).appendTo("body"); )
Használat
injectStyles('a:hover ( color: red; )');
Demó
Több információ
- A stílusinjekció furcsa az IE-ben (Ryan Seddon).
- Verem Túlcsorduló szál.