Estoy cambiando CSS con jQuery y deseo eliminar el estilo que estoy agregando en función del valor de entrada:
if(color != '000000') $("body").css("background-color", color); else // remove style ?
¿Cómo puedo hacer esto?
Tenga en cuenta que la línea de arriba se ejecuta cada vez que se selecciona un color usando un selector de color (es decir, cuando el mouse se mueve sobre una rueda de colores).
Segunda nota: no puedo hacer esto css("background-color", "none")
porque eliminará el estilo predeterminado de los archivos CSS .
Solo quiero eliminar el background-color
estilo en línea agregado por jQuery .
javascript
jquery
css
background
Alex
fuente
fuente
Respuestas:
Cambiar la propiedad a una cadena vacía parece hacer el trabajo:
fuente
La respuesta aceptada funciona pero deja un
style
atributo vacío en el DOM en mis pruebas. No es gran cosa, pero esto lo elimina todo:Esto supone que desea eliminar todo el estilo dinámico y volver al estilo de la hoja de estilo.
fuente
Hay varias formas de eliminar una propiedad CSS usando jQuery:
1. Establecer la propiedad CSS en su valor predeterminado (inicial)
Vea el valor inicial de la propiedad CSS en MDN . Aquí el valor predeterminado es
transparent
. También puede usarinherit
varias propiedades CSS para heredar el atributo de su padre. En CSS3 / CSS4, también puede usarinitial
,revert
ounset
estas palabras clave pueden tener compatibilidad limitada con el navegador.2. Eliminar la propiedad CSS
Una cadena vacía elimina la propiedad CSS, es decir
Pero tenga cuidado, como se especifica en la documentación de jQuery .css () , esto elimina la propiedad pero tiene problemas de compatibilidad con IE8 para ciertas propiedades abreviadas de CSS, incluido el fondo .
3. Eliminar todo el estilo del elemento
fuente
Obtuve la forma de eliminar un atributo de estilo con JavaScript puro solo para hacerle saber la forma de JavaScript puro
fuente
Esto eliminará la etiqueta completa:
fuente
cualquiera de estas funciones jQuery debería funcionar:
fuente
var cssObject = $('selector').prop('style'); cssObject.removeProperty('background-color');
Solo usando:
o
fuente
¿Qué tal algo como:
fuente
Usa mi plugin:
Para su caso, úselo de la siguiente manera:
o
si quieres eliminar también CSS definido en sus clases:
fuente
$(this).removeAttr
es redundante ythis.removeAttr
debería ser suficiente.removeAttr
Eliminará tambiénclass
attr? no lo creoremoveAttr
interior de su complemento, dondethis
ya hay un elemento jQuery.$(this)
es redundantethis
comoHTMLElement
ejemplo asignada al elemento de jQuery ... Como se puede ver, mi respuesta es viejo ... Es por eso .. de todos modos, lo que puedo decir u por qué cambian de eso, lo hacen debido a la función de flecha que viene nueva en ES6. .. y sethis
vuelve inútil y fue reemplazado porevent.currentTarget
Prueba esto:
Gracias
fuente
Si usa el estilo CSS, puede usar:
y luego reemplazar con:
Si no usa el estilo CSS y tiene un atributo en el elemento HTML, puede usar:
fuente
2018
hay una API nativa para eso
fuente
¡Este también funciona!
fuente
¿Por qué no hacer el estilo que desea eliminar una clase CSS? Ahora se puede utilizar:
.removeClass()
. Esto también abre la posibilidad de usar:.toggleClass()
(elimine la clase si está presente y agréguela si no lo está).
Agregar / eliminar una clase también es menos confuso para cambiar / solucionar problemas cuando se trata de problemas de diseño (en lugar de tratar de descubrir por qué desapareció un estilo en particular).
fuente
fuente
Esto es más complejo que algunas otras soluciones, pero puede ofrecer más flexibilidad en los escenarios:
1) Haga una definición de clase para aislar (encapsular) el estilo que desea aplicar / eliminar selectivamente. Puede estar vacío (y para este caso, probablemente debería estarlo):
2) use este código, basado en http://jsfiddle.net/kdp5V/167/ de esta respuesta de gilly3 :
Ejemplo de uso: http://jsfiddle.net/qvkwhtow/
Advertencias:
Aislar el estilo de esta manera es de lo que se trata CSS, incluso si manipularlo no lo es. La manipulación de reglas CSS NO es de lo que se trata jQuery, jQuery manipula elementos DOM y utiliza selectores CSS para hacerlo.
fuente
Simple es barato en desarrollo web. Recomiendo usar una cadena vacía al eliminar un estilo particular
fuente
Prueba esto
fuente