从类中删除(!important)属性

时间:2013-04-26 08:58:00

标签: jquery css attributes

我需要使用jQuery从元素中删除!important - 属性。这可能吗?

虽然我想为它创建一个js-fiddle,但我注意到它甚至不能用于非!important样式:

http://jsfiddle.net/u4q2P/2/

我的代码出了什么问题?

所以如果有人能够解释为什么jQuery不会像它应该的那样删除CSS属性(参见f {。http://www.bennadel.com/blog/2442-Clearing-Inline-CSS-Properties-With-jQuery.htm

4 个答案:

答案 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');
})