style span propiedad font cambiar bootstrap attribute javascript jquery css dynamic stylesheet

span - Cambiar dinĂ¡micamente las reglas CSS en JavaScript o jQuery.



title html (3)

Puede inyectar declaraciones de estilo en el DOM.

$("head").append(''<style>.red { color: purple }</style>'');

Estoy buscando una manera de cambiar las reglas CSS de mi hoja de estilo importada en el documento. Así que tengo una hoja de estilo externa y algunos atributos de class y div interior. Quiero cambiar una de las reglas con JavaScript o jQuery.

Aquí hay un ejemplo :

.red{ color:red; }

Así que la idea es hacer algo en JavaScript y el HTML sabe que ahora el color es otro color como este:

.red{ color:purple; }

Pero quiero tener esta regla para cada elemento que agregue en el futuro a modo de anexo. Entonces, si agrego un span con la clase CSS .red , el texto debe ser púrpura y no rojo.

Espero haberlo dejado claro.


Si desea agregar una regla, en lugar del estilo de elementos de estilos directamente, puede usar CSSStyleSheet.insertRule() . Toma dos parámetros: la regla como una cadena, y dónde insertar la regla.

Ejemplo del enlace de arriba:

// push a new rule onto the top of my stylesheet myStyle.insertRule("#blanc { color: white }", 0);

En este caso, myStyle es el miembro .sheet de un elemento de style .

Por lo que puedo decir, el elemento de style debe insertarse en el documento antes de que pueda agarrar su hoja, y no puede ser una hoja externa. También puede tomar una hoja de document.styleSheets , por ejemplo

var myStyle = document.styleSheets[1]; // Must not be a linked sheet. myStyle.insertRule("#blanc { color: white }", 0);

Nota: La página recomienda que considere la posibilidad de cambiar las clases de los elementos, en lugar de cambiar cómo se ven esas clases.


Usted jQuery método .css() para hacer eso.

$(''.red'').css(''color'', ''purple'');

Para múltiples reglas:

$(''.red'').css({ ''color'': ''purple'', ''font-size'': ''20px'' });

Cuando agregue un elemento dinámico en el futuro a DOM por medio de la forma de anexar, simplemente asigne a ese elemento alguna class o id y escriba las reglas CSS como se muestra arriba después de agregarlos y se aplicarán a todos los elementos creados dinámicamente.

Muestra de trabajo

Nota

Añadir reglas dinámicas no es una buena solución desde mi punto de vista. En lugar de la puedes cargar algún archivo CSS externo.

Pero si necesitas algo como las reglas dinámicas, agrega el método:

$(''head'').append( $(''<style/>'', { id: ''mystyle'', html: ''.red {color: purple }'' }) );

Y para uso futuro:

$(''#mystyle'').append('' .someother { color: green; font-size: 13px } '');

Muestra de trabajo