如何覆盖已添加的重要元素

时间:2014-07-08 10:24:41

标签: javascript jquery html css css3

我有一个锚标签,其样式有!重要,不能删除这个!重要来自css,因为它是默认样式。

我正在尝试添加自定义样式,我不应该使用!important。有没有更好的方法来实现这一目标,重要的是。

这是我尝试过的:

HTML:

<body class="imp" id="Imp">
<a class="anchor" href="#">Change background</a>
</body>

CSS:

a {
    background: black !important;
    color: white;
}

body .anchor{
    background: blue;
}

Fiddle Demo

3 个答案:

答案 0 :(得分:2)

试试这种方式

<a class="anchor" style=" background: blue!important;" href="#">Change background</a>

在jQuery中

$("a.anchor").attr('style', 'background: blue !important;');

DEMO

答案 1 :(得分:2)

覆盖!important css属性的唯一方法是自己使用!important。不幸的是,没有办法解决纯粹的CSS问题:

body .anchor{
    background: blue !important;
}

是否有某些特定原因导致您不想使用它?


如果你绝对不能使用!important标记,那么另一种选择就是以<a>内容的包装器以相当丑陋的方式“作弊”:

<body class="imp" id="Imp">
<a class="anchor" href="#"><span style="background:blue;">Change background</span></a>
</body>

答案 2 :(得分:0)

尝试使用Jquery

$("a.anchor").attr('style', 'background: blue !important;');

DEMO