基于此处类似问题的回答:How can I dynamically change the background-color 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');
答案 0 :(得分:2)
如果您不想使用maxton的答案,可以使用
$('.bronzeBackground, .silverBackground, .goldBackground').removeClass('bronzeBackground silverBackground goldBackground');
$('body').addClass('bronzeBackground');
(编辑,删除愚蠢的拼写错误)
答案 1 :(得分:1)
对于页面上的每个元素,这将起作用:
$('*').removeClass('bronzeBackground silverBackground goldBackground').addClass('bronzeBackground');
答案 2 :(得分:1)
试试这个
$(document.body).removeClass('bronzeBackground silverBackground goldBackground').addClass('bronzeBackground');
答案 3 :(得分: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 */
}