我需要使用jQuery从元素中删除!important
- 属性。这可能吗?
虽然我想为它创建一个js-fiddle,但我注意到它甚至不能用于非!important
样式:
我的代码出了什么问题?
所以如果有人能够解释为什么jQuery不会像它应该的那样删除CSS属性(参见f {。http://www.bennadel.com/blog/2442-Clearing-Inline-CSS-Properties-With-jQuery.htm)
答案 0 :(得分:5)
我认为您需要使用attr()并在样式值中设置!important
来覆盖它:
$('#myButton').on('click', function () {
$('#myDiv').attr('style', 'padding: 0px !important;');
})
<强> Fiddle 强>
答案 1 :(得分:3)
我猜你想让padding再次成为默认值?
如果您想要填充的默认值:http://jsfiddle.net/u4q2P/4/
$('#myButton').on('click', function () {
$('#myDiv').css('padding', 'inherit');
})
编辑,因为问题不是很清楚我做了这个编辑
如果要将填充设置为0,请使用:http://jsfiddle.net/u4q2P/5/
$('#myButton').on('click', function () {
$('#myDiv').css('padding','0px');
})
如果你做了一个好的jsfiddle我们可以在几秒钟内帮助你:http://jsfiddle.net/u4q2P/6/
$('#myButton').on('click', function () {
$('#myDiv').attr('style', 'padding: 0px !important');
})
答案 2 :(得分:1)
从Can I use jquery to remove/negate css !important rule?取消 不幸的是,你不能覆盖!important而不使用!important作为内联/内部样式,包含在thebs.css下面。
您可以定义!重要样式并将其添加到.stubborn然后调整不透明度..见下文,
<强> CSS:强>
div.hidden_block_el {
display: block !important;
opacity: 0;
}
<强> JS:强>
$('.stubborn')
.addClass('hidden_block_el')
.animate({opacity: 1});
DEMO: http://jsfiddle.net/jjWJT/1/
替代方法(内联),
$('.stubborn')
.attr('style', 'display: block !important; opacity: 0;')
.animate({opacity: 1});
答案 3 :(得分:0)
空的样式什么都不是。在填充处输入0或其他东西:)
$('#myButton').on('click', function () {
$('#myDiv').css('padding', '0');
})