Jeśli chcesz zmienić styl elementu za pomocą JavaScript, zazwyczaj lepiej jest zmienić nazwę klasy i mieć CSS już na stronie, aby zaczął obowiązywać i zmienić styl. Istnieją jednak wyjątki od każdej reguły. Na przykład możesz chcieć programowo zmienić pseudoklasę (np :hover
.). Nie możesz tego zrobić za pomocą JavaScript z tego samego powodu, dla którego style=""
atrybuty inline nie mogą zmieniać pseudoklas.
Będziesz musiał wstawić na stronę nowy element z odpowiednimi stylami. Najlepiej wstawić go na dole strony, aby nadpisał Twój CSS nad nim. Łatwo z jQuery:
function injectStyles(rule) ( var div = $(" ", ( html: '-' + rule + '' )).appendTo("body"); )
Stosowanie
injectStyles('a:hover ( color: red; )');
Próbny
Więcej informacji
- Dziwactwa wtrysku stylu w IE (Ryan Seddon).
- Wątek przepełnienia stosu.