El título lo resume más o menos.
La hoja de estilo externa tiene el siguiente código:
td.EvenRow a {
display: none !important;
}
He intentado usar:
element.style.display = "inline";
y
element.style.display = "inline !important";
Pero tampoco funciona. ¿Es posible anular un estilo! Importante usando javascript.
Esto es para una extensión greasemonkey, si eso hace la diferencia.
javascript
css
Enrico
fuente
fuente
Respuestas:
Creo que la única forma de hacerlo es agregar el estilo como una nueva declaración CSS con el sufijo '! Important'. La forma más fácil de hacer esto es agregar un nuevo elemento <style> al encabezado del documento:
Las reglas agregadas con el método anterior anularán (si utiliza el sufijo! Important) otro estilo previamente establecido. Si no está utilizando el sufijo, asegúrese de tener en cuenta conceptos como ' especificidad '.
fuente
Hay un par de frases simples que puedes usar para hacer esto.
1) Establezca un atributo "estilo" en el elemento:
o...
2) Modificar la
cssText
propiedad delstyle
objeto:Cualquiera de los dos hará el trabajo.
===
Por cierto, si desea una herramienta útil para manipular
!important
reglas en elementos, he escrito un complemento jQuery llamado "importante": http://github.com/premasagar/importantfuente
style
etiqueta.style
atributo, no una etiqueta / elemento.element.style.cssText += ';display:inline !important;';
element.style.setProperty
.element.style
tiene unsetProperty
método que puede tomar la prioridad como tercer parámetro:No funcionaba en viejos IE, pero debería estar bien en los navegadores actuales.
fuente
boxShadow
Aprovechando la excelente respuesta de @Premasagar; si no desea eliminar todos los demás estilos en línea, use esto
No se puede usar
removeProperty()
porque no eliminará las!important
reglas en Chrome.No se puede usar
element.style[property] = ''
porque solo acepta camelCase en Firefox.fuente
element.style.setProperty
.Mejor método que acabo de descubrir: intenta ser más específico que la página CSS con tus selectores. ¡Solo tenía que hacer esto hoy, y funciona de maravilla! Más información en el sitio del W3C: http://www.w3.org/TR/CSS2/cascade.html#specificity
fuente
Si desea actualizar / agregar un estilo único en el atributo de estilo Elemento DOM, puede usar esta función:
style.cssText es compatible con todos los principales navegadores .
Ejemplo de caso de uso:
Aquí hay un enlace a la demostración
fuente
Si todo lo que está haciendo es agregar css a la página, le sugiero que use el complemento Elegante y escriba un estilo de usuario en lugar de un script de usuario, porque un estilo de usuario es más eficiente y apropiado.
Consulte esta página con información sobre cómo crear un estilo de usuario.
fuente
https://developer.mozilla.org/en-US/docs/Web/CSS/initial
usar propiedad inicial en css3
fuente
https://jsfiddle.net/xk6Ut/256/
Una opción para anular la clase CSS en JavaScript es usar una ID para el elemento de estilo para que podamos actualizar la clase CSS
..
fuente
En lugar de inyectar estilo, si inyecta una clase (por ejemplo: 'show') a través del script java, funcionará. Pero aquí necesitas css como a continuación. la regla de clase CSS añadida debe estar por debajo de su regla original.
fuente
Allí tenemos otra posibilidad para eliminar un valor de propiedad del CSS.
Como usar el método replace en js. Pero debe saber exactamente la ID del estilo, o puede escribir un bucle for para detectarlo mediante (cuente los estilos en la página, luego verifique si alguno de esos 'incluye' o 'coincide' con un
!important
valor. Y puede contar también: cuánto los contiene, o simplemente escriba un método de reemplazo global [regexp: / str / gi])El mío es muy simple, pero adjunto un jsBin, por ejemplo:
https://jsbin.com/geqodeg/edit?html,css,js,output
Primero configuré el fondo del cuerpo en CSS para amarillo
!important
, luego anulé JS para darkPink.fuente
A continuación se muestra un fragmento de código para establecer el parámetro importante para el atributo de estilo usando jquery.
El uso es bastante simple. Simplemente pase un objeto que contenga todos los atributos que desea establecer como importantes.
Hay dos opciones adicionales.
Para agregar un parámetro importante al atributo de estilo ya presente, pase una cadena vacía.
2.Para agregar parámetros importantes para todos los atributos presentes, no pase nada. Establecerá todos los atributos como importantes.
Aquí está en vivo en acción. http://codepen.io/agaase/pen/nkvjr
fuente