Si necesita cambiar el estilo de un elemento con JavaScript, normalmente es mejor cambiar el nombre de una clase y hacer que el CSS que ya está en la página tenga efecto y cambie el estilo. Sin embargo, existen excepciones a todas las reglas. Por ejemplo, es posible que desee cambiar mediante programación la pseudoclase (p :hover
. Ej .). No puede hacer eso a través de JavaScript por la misma razón que los style=""
atributos en línea no pueden cambiar las pseudoclases.
Deberá inyectar un nuevo elemento en la página con los estilos correctos. Es mejor inyectarlo en la parte inferior de la página para que anule el CSS que está encima. Fácil con jQuery:
function injectStyles(rule) ( var div = $(" ", ( html: '-' + rule + '' )).appendTo("body"); )
Uso
injectStyles('a:hover ( color: red; )');
Manifestación
Más información
- Peculiaridades de la inyección de estilo en IE (Ryan Seddon).
- Hilo de desbordamiento de pila.