我发现的所有其他答案仅删除属性的设置,而不是完全删除属性。我正在将一个元素从绝对位置改变为固定位置。我需要删除正确的定位属性,并用margin-right替换它,以便该元素位于其父DIV中。如果没有删除正确的属性,则元素会一直移动到屏幕的右侧,而不是像我需要的那样位于DIV的右侧。任何人都可以提供一个关于如何完成这个的建议?使用Jquery删除CSS属性
6
A
回答
13
尝试将其设置为默认值auto
$(element).css('right', 'auto');
2
$('div').css({'right' : '', 'margin-right' : '100px'});
如果还是不行,请尝试将有权它是auto
0
默认值尝试设置right
到0px
,然后设置margin-right
。
$('div').css({'right' : '0px', 'margin-right' : '100px'});
0
你可以试试下面的代码
$.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) {
props.splice(tmp, 1);
}
return $(this).attr('style',props.join(';'));
}
example usage:
$(selector).removeCss('color');
1
在我看来最干净的方法是从元素的CSSStyleDeclaration完全删除的财产,而不是只具有某种空的覆盖它/零/默认值:
$(".foo").prop("style").removeProperty("right");
$(".foo").prop("style").removeProperty("background-color");
相关问题
- 1. 使用jQuery删除属性
- 2. 不能用jQuery删除CSS属性
- 3. 删除CSS属性()
- 4. 如何删除JQuery中的CSS属性
- 5. jQuery删除属性
- 6. 使用JQuery删除禁用的属性?
- 7. 如何使用JQuery从样式表中删除CSS属性?
- 8. 删除CSS“内容”属性
- 9. 从body ::删除CSS属性::
- 10. 使用jQuery从iframe中删除属性
- 11. 使用Ansible删除属性
- 12. 使用XMLStarlet删除属性
- 13. 如何删除CSS属性,使HTML属性再次生效?
- 14. 在其他CSS属性中删除单个CSS属性
- 15. 删除CSS:用jQuery
- 16. 删除jquery中的除绑定属性
- 17. 删除/重置CSS行为属性
- 18. 删除CSS属性没有JavaScript
- 19. 覆盖/删除CSS属性与JavaScript的
- 20. 如何删除重要的CSS属性?
- 21. 删除图像动态使用jQuery通过清除src属性
- 22. 删除属性
- 23. 删除属性
- 24. 如何通过jQuery从CSS中删除div的backgrount属性?
- 25. jQuery有条件的添加和删除CSS属性
- 26. 使用Firefox删除CSS中的div的过滤器属性
- 27. 如何使用正则表达式删除一些CSS属性?
- 28. 轻松删除未使用的css属性
- 29. 使用JQUERY添加/删除css文件
- 30. 使用jquery删除多个CSS类
PS - CSS规范可能已经回答了这个给你 - http://www.w3.org/TR/CSS21/visuren.html#propdef-right – mrtsherman
这真是棒极了!谢谢。 – user981053
比显式的硬编码默认值更好的是一个空字符串(如@Derek所示),可以根据需要应用其他样式表规则。 – Phrogz