使用具有!important标记的jquery更改div的背景颜色

elz*_*lzi 12 javascript jquery

使用一个调用.jsp的插件,该插件使用外部托管的自己的样式表(它是一个yelp嵌入 - 试图操纵它的外观).我试图改变的一个元素上有一个!重要的标签,我似乎无法改变它......

我试过了

<script type="text/javascript">
   $('.elementToChange').css({'background-color':'black'});?
</script>
Run Code Online (Sandbox Code Playgroud)

无济于事.想法?

Ric*_*ers 35

看起来在更新的jQuery版本(至少1.7.2和更高版本)中,你可以简单地设置css:

$('#elementToChange').css('background-color', 'blue');
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/HmXXc/185/

在旧版本的jQuery和Zepto中,你必须首先清除css:

// Clear the !important css
$('#elementToChange').css('background-color', '');
Run Code Online (Sandbox Code Playgroud)

然后使用以下命令重置它:

$('#elementToChange').css('background-color', 'blue');
Run Code Online (Sandbox Code Playgroud)

或者在单行中:

$('#elementToChange')
    .css('background-color', '')
    .css('background-color', 'blue');
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/HmXXc/186/.

原始答案:

注意:这可能是一个坏主意,因为它将删除任何其他内联样式

我会直接编辑样式属性

$('.elementToChange').attr('style', 'background-color: blue !important');
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/RichardTowers/3wemT/1/