Estoy construyendo un mapa arrastrable que cuando se arrastra el mapa se le da al elemento un atributo 'izquierda' y 'superior' con valores para cada uno como tal ...
<div class="map" style="top:200px; left:100px;">Map</div>
Cuando hago clic en un botón, deseo eliminar el atributo superior e izquierdo del estilo en línea en el div. ¿Es esto posible con jquery?
' '
no cuenta solo como un valor vacío''
$('selector').prop('style'); cssObject.removeProperty('top'); cssObject.removeProperty('left');
Respuestas:
Los valores predeterminados para CSS
top
yleft
sonauto
, por lo que establecerlos en eso podría ser equivalente dependiendo de lo que intente hacer:También tiene la opción de eliminar completamente el
style
atributo:Sin embargo, si está utilizando otros componentes de jQuery UI, es posible que requieran estilos en línea que no desee eliminar, así que proceda con precaución allí.
fuente
Si desea eliminar específicamente los atributos superior e izquierdo y dejar otros, puede hacer esto:
O, un equivalente más corto:
fuente
.css('left', undefined);
No cambió nada. Pasar nulo tampoco hizo nada. Pero.css('left', false);
elimina esa propiedad.Puede eliminar todo el contenido del
style
atributo haciendo lo siguiente:Y puede eliminar correos específicos
style
haciendo:fuente
Simplemente configure la propiedad CSS con una cadena vacía, por ejemplo con el siguiente código:
Consulte la documentación de jQuery en CSS .
fuente
Los documentos le brindan el enfoque actual recomendado para lo que está tratando de lograr, que a menudo puede ahorrarle tiempo porque no tiene que leer de ida y vuelta las guerras de llamas en el desbordamiento de la pila (no importa cuán divertido / esclarecedor pueda ser) !).
fuente
Por este informe de error de JQuery
no funciona de manera consistente en navegadores basados en Webkit. Por ejemplo, me encontré con este problema en iOS 6.1. La solución es usar:fuente
Si quieres eliminarlo todo, puedes hacerlo
fuente
entonces si quieres eliminar css prop (s):
fuente
En mi opinión, la forma más limpia es eliminar la propiedad por completo de la CSSStyleDeclaration del elemento , en lugar de sobrescribirla con algún tipo de valor nulo / cero / predeterminado:
fuente
¡Elimine de forma segura con este complemento!
$ ('myDiv'). removeCss ('color');
fuente
Hay algunos estilos que no se pueden eliminar fácilmente (se me ocurre un desbordamiento)
Una solución alternativa sería crear 2 clases diferentes y agregar / eliminar la que contenga el estilo que desee.
NO es la mejor solución para las propiedades de estilo que se pueden quitar / deshabilitar fácilmente.
fuente
Para eliminar estilos CSS, asigne una cadena vacía al estilo
en este caso
fuente
fuente