我建立一个可拖动的地图,当地图被拖动时,元素被赋予一个“左”和“顶”属性,每个属性的值如下..。
<div class="map" style="top:200px; left:100px;">Map</div>
我有一个按钮,我想删除顶部和左边的属性从内联样式的 div 时,单击,这可能与 jquery?
如果你想删除所有的,你可以这样做
$('.map').removeAttr('style');
如果您想特别删除 top 和 left 属性并保留其他属性,可以这样做:
$('.map').css('top', '').css('left', '');
或者,一个更短的等价物:
$('.map').css({ 'top': '', 'left': '' });
您可以通过以下操作删除 style属性中的所有内容:
style
你可以通过以下方法移除特定的 style:
$('.map').css('top', ''); $('.map').css('left', '');
只需使用空字符串设置 CSS 属性,例如使用以下代码:
$('#mydiv').css('color', '');
参见 关于 CSS 的 jQuery 文档。
CSS top和 left的默认值是 auto,因此将它们设置为 auto可能是等效的,这取决于您尝试执行的操作:
top
left
auto
$('.map').css('top', 'auto').css('left', 'auto');
您还可以选择完全删除 style属性:
但是,如果您正在使用其他 jQuery UI 组件,那么这些组件可能需要内联样式,而您不希望删除这些样式,因此在这方面要小心。
每个 这个 JQuery 错误报告
RemoveAttr (‘ style’)
Attr (‘ style’,”)
$.fn.removeCss=function(prop){ if(!prop){ return $(this).removeAttr('style').removeAttr('class'); } else{ return $(this).css(prop,null); } }
然后,如果你想删除 css 道具:
$('#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 (‘ color’) ;
有一些样式不容易删除
一个解决方案是创建两个不同的类,并添加/删除包含您想要的样式的类。
对于容易删除/禁用的样式属性来说,这不是最好的解决方案。
将样式属性的值设置为空字符串ーー例如 $( Css (“ color”,“”)ーー从元素中删除该属性 如果它已经被直接应用,无论是在 HTML 样式 属性,通过 jQuery 的. css ()方法,或者通过直接 DOM 样式属性的操作。
这些文档为你提供了当前推荐的方法,可以帮你节省时间,因为你不必反复阅读堆栈溢出的争论(不管这有多么有趣/有启发性).
$("#map").css("top", "0"); $("#map").css("left", "0");
要删除 css 样式,请为样式分配一个空字符串
在这种情况下
$('.map').css({top:'',left:''});
在我看来,最干净的方法是从元素的 CSSStyleDeclaration中完全删除该属性,而不是仅仅用某种 null/zero/default 值覆盖它:
$(".foo").prop("style").removeProperty("top"); $(".foo").prop("style").removeProperty("left"); $(".foo").prop("style").removeProperty("background-color");