-1

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

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

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

我的代码有什么问题?

因此,如果有人可以解释为什么 jQuery 没有像它应该的那样删除 CSS 属性(请参阅 fe http://www.bennadel.com/blog/2442-Clearing-Inline-CSS-Properties-With-jQuery。 .htm )

4

4 回答 4

5

我认为您需要使用attr()!important在您的样式值中设置以覆盖它:

$('#myButton').on('click', function () {
    $('#myDiv').attr('style', 'padding: 0px !important;');
})

小提琴

于 2013-04-26T09:03:12.553 回答
3

我猜你希望填充再次默认?

如果你想要填充的默认值: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');
})
于 2013-04-26T09:02:29.467 回答
1

最初取自Can I use jquery to remove/negate css !important rule? 不幸的是,如果不使用 !important 作为包含的 theirs.css 下方的内联/内部样式,您将无法覆盖 !important。

您可以定义一个 !important 样式并将其添加到 .stubborn 然后调整不透明度。见下文,

CSS:

div.hidden_block_el { 
   display: block !important;
   opacity: 0;
}

JS:

$('.stubborn')
.addClass('hidden_block_el')
.animate({opacity: 1});

演示:http: //jsfiddle.net/jjWJT/1/

替代方法(内联),

$('.stubborn')
.attr('style', 'display: block !important; opacity: 0;')
.animate({opacity: 1});
于 2013-04-26T09:03:59.887 回答
0

空洞的风格算不了什么。在填充处输入 0 或其他内容:)

$('#myButton').on('click', function () {
    $('#myDiv').css('padding', '0');
})
于 2013-04-26T09:00:10.307 回答