我有很多div,其中一些有背景色:#aaa,其他有字体颜色:#aaa,其他有border-color:#aaa.其他div有不同的颜色,没关系.
我想在CSS的各处将这些颜色(#aaa)更改为#ccc.
我知道如何更改背景div颜色,但这里不是问题,我有太多的div来逐一改变它们.
我正在尝试找到一个jQuery函数,它允许我找到一个单词(这里是#aaa)并用CSS中的其他(#ccc)替换它.
它应该是这样但我的代码不正确:
$("*").if(backgroundColor == "#aaa"){replace by "#ccc"},if(color == "#aaa"){replace by "#ccc"},if(borderColor == "#aaa"){replace by "#ccc"},etc..
解决方法
你想迭代你想要的所有类型的元素(在这种情况下,我选择div,因为它是超常见的)并动态分配颜色,如下所示:
HTML:
<div id="one">Some text</div> <div id="two">Some text</div> <div id="three">Some text</div> <div id="four">Some text</div> <div id="change"> <input type="button" value="Change Colors!" /> </div>
JQuery的:
$("#change").click(function () { $("div").each(function () { var color = $(this).css("color"); if (color == "rgb(170,170,170)") { $(this).css("color","#ccc"); } }); });
注意:JQuery .css()返回RGB颜色值,如rgb(r,g,b),因此您需要将返回的RGB值转换为HEX值.这可以以编程方式完成,但不在本问题的范围内.
CSS:
#one,#two { color: #aaa; } #three,#four { color: green; }
这是JSFiddle: