使用JQuery更改CSS类中的属性

使用JQuery更改CSS类中的属性,jquery,css,Jquery,Css,我不知道如何在CSS类中更改属性。现在我向那个特定的div添加了一个样式,但是我想要的是CSS类中的属性被更改,而不仅仅是被新的样式属性覆盖 例如: .example{background-color:blue} <div class="example">example</div> 。示例{背景色:蓝色} 例子 那么,我怎样才能更改.CSS示例中的背景色,而不是像这样覆盖它: <div class="example" style="background-col

我不知道如何在CSS类中更改属性。现在我向那个特定的div添加了一个样式,但是我想要的是CSS类中的属性被更改,而不仅仅是被新的样式属性覆盖

例如:

.example{background-color:blue}

<div class="example">example</div>
。示例{背景色:蓝色}
例子
那么,我怎样才能更改.CSS示例中的背景色,而不是像这样覆盖它:

<div class="example" style="background-color:blue">example</div>
示例

我试过很多东西,但我想不出来。我已经尝试了
.attr()
.css()
,但是我遗漏了什么。

您不能更改类的实际css(当然可以,但这非常困难,而且不利于实践)——但是您可以更改应用于该类的所有内容:

$('.example').css('background-color', 'blue');
但是,只要生成类型的新元素,就可以重新应用CSS。例如,调用从另一个文件检索数据的AJAX脚本后:

$('#blah').load('script.php', function() {
    $('.example').css('background-color', 'blue');
});
您还可以在所有元素上重新应用间隔,但就性能而言,这是不建议的:

setInterval(function() {
    $('.example').css('background-color', 'blue');
}, 100);

我给您的建议是找到另一种方法来标记您的更改,比如第二个类,并使用该类对元素进行更改。

您想要的是不可能的,但类似这样的方法可能更好

body.blueTheme.示例{背景色:蓝色;}
body.redTheme.示例{背景色:红色;}

现在,不要更改事件处理程序中的颜色,而是更改主体的类。

动态更改样式表通常不是一个好主意,除非您打算实现完全的主题化

通常最好找到其他方法来标记元素,以便它们获得不同的样式,但如果必须这样做,可以动态更改加载的样式表

在链接到外部CSS文件的
元素上放置
id

<link id="dynCss" rel="stylesheet" type="text/css" href="..." />


然后将加载(并应用)新URL中的新样式。

只需使用
.css(“背景色”、“蓝色”)是?可以显示您正在使用的jquery代码吗?
document.getElementById('dynCss').href = ...
$('#dynCss).attr('href', ...);