无论如何要覆盖内联重要吗?

时间:2013-12-12 05:15:21

标签: jquery html css

说,我正在使用插件,组件,并且使用!important应用了inline-css。现在我怎么能覆盖那个css。

这是一个显然不起作用的例子,因为div更具体,但内联中给定的重要性使其更具体。

<div>
    <p style="color: red !important;">color is red</p>
</div>

div p{
    color: blue !important; /*I wanted to override but this won't work*/
}

demo

4 个答案:

答案 0 :(得分:4)

如果由于使用插件而无法更改HTML,则只能使用JS来摆脱它。谢天谢地,这很简单。

http://jsfiddle.net/daAzr/1/

$('div p[style]').attr('style', '');

(按照你的例子。)显然,对于你想要改变的插件中的位,使它更具体一些。

答案 1 :(得分:0)

!important规则无法覆盖。

请尝试从内联中删除!important,然后您的CSS将正常工作。

<强> DEMO

答案 2 :(得分:0)

你不能覆盖具有!important的内联CSS,因为它具有更高的优先级,但是使用Javasctip / Jquery调整你可以实现你想要的。 你可以使用这个:DEMO

答案 3 :(得分:0)

它可能 为此目的使用Jquery

$(function () {
    $('p')
        .attr('style', 'color: blue !important;')
});

演示: - http://jsfiddle.net/jjWJT/25/