0

基于此处类似问题的回答:如何动态更改背景色 html?

...我将此代码添加到事件中:

    $('html').removeClass('bronzeBackground silverBackground goldBackground').addClass('bronzeBackground');

这部分有效,但颜色仅在部分页面中更改。我必须怎么做才能让页面的整个背景都使用该颜色?除了“html”以及其他元素之外,我是否还需要指定“body”?必须有一个单一标签改变所有的方法......

更新

在相关说明中,我不知道为什么,但尽管添加此 CSS 不起作用:

#BooksContent #MoviesContent #MusicContent {
    background-color: black !important;
}

...在动态填充 div (id="BooksContent") 的内容后在我的 jQuery 中添加它确实有效:

$('#BooksContent').css('background-color', 'black');
4

4 回答 4

2

如果您不想使用 maxton 的答案,您可以使用

$('.bronzeBackground, .silverBackground, .goldBackground').removeClass('bronzeBackground silverBackground goldBackground');

$('body').addClass('bronzeBackground');

(编辑,删除愚蠢的错字)

于 2013-07-14T00:35:56.740 回答
1

对于页面上的每个元素,这将起作用:

$('*').removeClass('bronzeBackground silverBackground goldBackground').addClass('bronzeBackground');
于 2013-07-13T23:49:03.180 回答
1

尝试这个

$(document.body).removeClass('bronzeBackground silverBackground goldBackground').addClass('bronzeBackground');
于 2013-07-13T23:55:43.627 回答
1

哪些元素受配色方案影响完全取决于您 - 设置页面上绝对每个元素的背景颜色可能不是您想要的。

您显示的 JS 很好,但是您需要在 CSS 中使用它,您可以在其中使元素具有透明背景,或列出多个选择器以具有相同的样式,例如

body.silverBackground, body.silverBackground nav, body.silverBackground div#main /* etc */
{
     /* CSS for "silver" theme background */
}
body.silverBackground a
{
    /* corresponding link colour to match theme */
}
于 2013-07-14T00:13:46.270 回答