Wstaw nowe reguły CSS - CSS-Tricks

Anonim

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.