用jQuery删除CSS“top”和“left”属性
我build立一个可拖动的地图,当地图拖动时,元素被赋予一个“左”和“顶”属性,每个值都是这样的。
<div class="map" style="top:200px; left:100px;">Map</div>
我有一个button,我想要删除顶部和左侧属性从div上的内联样式点击时,这是可能的jQuery的?
CSS top
和left
的默认值是auto
,所以根据你想要做的事情设置它们可能是等价的:
$('.map').css('top', 'auto').css('left', 'auto');
您也可以select完全删除style
属性:
$('.map').removeAttr('style');
但是,如果您使用的是其他jQuery UI组件,那么这些组件可能需要内联样式,而您不想将其移除,因此请谨慎操作。
如果要专门删除顶部和左侧属性并保留其他属性,可以这样做:
$('.map').css('top', '').css('left', '');
或者,更短的等价物:
$('.map').css({ 'top': '', 'left': '' });
您可以通过执行以下操作删除style
属性中的所有内容:
$('.map').removeAttr('style');
你可以通过下面的方式删除特定的style
:
$('.map').css('top', ''); $('.map').css('left', '');
只需使用空string设置CSS属性,例如使用以下代码:
$('#mydiv').css('color', '');
查看关于CSS的jQuery文档 。
- 去这里: jQuery API
- Ctrl + F为“删除”
- 读:
将样式属性的值设置为一个空string,例如$(“#mydiv”).css(“color”,“”) – 将该属性从元素中移除(如果已经直接应用),无论是HTML样式属性,通过jQuery的.css()方法,或者通过对style属性的直接DOM操作。
文档为您提供了当前推荐的方法,通常可以节省您的时间,因为您不必在堆栈溢出中来回读取火焰战争(无论多么有趣/有启发性的东西!)。
根据这个JQuery错误报告
element.removeAttr( '风格')
在基于Webkit的浏览器中不一致。 例如,我在iOS 6.1上遇到了这个问题。 解决的办法是使用:
element.attr('style','')
如果你想删除所有它可以做
$('.map').removeAttr('style');
$.fn.removeCss=function(prop){ if(!prop){ return $(this).removeAttr('style').removeAttr('class'); } else{ return $(this).css(prop,null); } }
那么如果你想删除css道具(s):
$('#mydiv').removeCss('color'); //To remove all prop Css $('#mydiv').removeCss();
$.fn.removeCss=function(toDelete){ var props=$(this).attr('style').split(';'); var tmp=-1; for( var p=0;p<props.length; p++){if(props[p].indexOf(toDelete)!==-1){tmp=p}}; if(tmp!==-1){ delete props[tmp]; } return $(this).attr('style',props.join(';')+';'); }
用这个插件安全地删除!
$( 'myDiv')removeCss( '颜色')。
有一些不容易删除的风格(溢出想到)
解决方法是创build2个不同的类,并添加/删除包含您想要的样式的类。
不是可以轻松删除/禁用的样式属性的最佳解决scheme。
$("#map").css("top", "0"); $("#map").css("left", "0");
删除CSS样式将空string分配给样式
在这种情况下
$('.map').css({top:'',left:''});
在我看来,最简洁的方法是从元素的CSSStyleDeclaration中完全删除属性,而不是用某种空/零/默认值覆盖它:
$(".foo").prop("style").removeProperty("top"); $(".foo").prop("style").removeProperty("left"); $(".foo").prop("style").removeProperty("background-color");