我正在尝试在这里创建一个简单的主题系统。我有几个红色背景颜色的元素。我还有一个按钮,将元素背景颜色更改为绿色。
我正在尝试编码,但我无法弄清楚如何选择并将所有红色元素的bg颜色更改为绿色!
例如,我有4个div。其中两个有一个红色标题,当我点击按钮时,这些标题背景颜色必须更改为绿色。这里没关系,但问题是div是动态生成的,所以我是否循环所有页面以找到红色bg颜色?有人能让我高兴吗? =)
非常感谢! =)
答案 0 :(得分:1)
我认为最好的解决方案是为每个主题使用不同的样式表,并将当前主题值保存在SESSION或COOKIE中,或者只将其作为URL参数传递。但那将是一个服务器端解决方案。 在客户端,您可以为每个主题使用不同的类,并使用.toggleClass()
在按钮推送事件上切换它们$('.green').toggleClass('red green');
答案 1 :(得分:0)
最简单的方法是为您正在使用的每种背景颜色设置一个特定的CSS类。例如:
.color-red{ background-color: #FF0000; }
.color-green{ background-color: #00FF00; }
一旦你这样做,你可以选择CSS类并设置CSS类:
$('#button-togreen').click(function(){
$('.color-red').removeClass('color-red').addClass('color-green');
}
这是一种圆满的方式,但是没有简单的方法来选择CSS属性(要做到这一点,你必须选择页面的所有元素,然后检查它们中的每一个背景颜色属性,这将是非常低效的......)
答案 2 :(得分:0)
我不知道你的标题是什么意思,但我认为这应该做你想要的:
$('.myDivs').filter(function(index){
return $(this).css('color') == 'red';
}).css('color', 'green');