【问题标题】:Replace everytime this color by that color in css with jquery每次用jquery在css中用那个颜色替换这个颜色
【发布时间】:2013-06-11 18:26:19
【问题描述】:

我有很多divs,其中一些有background-color: #aaa,其他有字体color: #aaa,还有一些border-color: #aaa。其他divs有不同的颜色,没关系。

我想在 CSS 中的所有位置将这些颜色 (#aaa) 更改为 #ccc
我知道如何更改背景div 颜色,但这不是问题,我有太多divs 无法一一更改。

我正在尝试找到一个 jQuery 函数,它可以让我找到一个单词(此处为 #aaa)并将其替换为 CSS 中的其他单词(#ccc)。

应该是这样,但我的代码不正确:

$("*").if(backgroundColor == "#aaa"){replace by "#ccc"},
if(color == "#aaa"){replace by "#ccc"}, if(borderColor == "#aaa"){replace by "#ccc"}, etc..

【问题讨论】:

  • 您是在寻找一种方法,例如用文本编辑器在 CSS 中查找和替换它,还是每次都用 JS/JQuery 来实现?
  • 不适用于文本编辑器,我解释说。在我的网页上,我有一个“更改颜色”按钮,我想通过单击此按钮来更改我的网站的颜色。它要求css页面发生变化。我正在尝试创建一个在 css 中执行此更改的 jquery 函数。
  • 嗯,好的。现在知道了。您是要更改页面中的所有元素还是只更改一个部分?
  • 全部在页面中。我想在页面的任何地方用#ccc 替换#aaa。

标签: jquery css colors replace


【解决方案1】:

你想遍历所有你想要的类型的元素(在这种情况下我选择了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(r, g, b) 的 RGB 颜色值,因此您需要将返回的 RGB 值转换为 HEX 值。这可以通过编程方式完成,但超出了本问题的范围。

CSS:

#one, #two {
    color: #aaa;
}
#three, #four {
    color: green;
}

这里是 JSFiddle:

http://jsfiddle.net/hQkk3/44/

【讨论】:

  • 但是这段代码会改变开始时没有颜色的 div #aaa !想象一下 div 1 和 div 2 的颜色为#aaa,但 div 3 和 div 4 的颜色为 #888,我只想将 div 1 和 2 更改为 #ccc,但我希望 #888 保持 #888。这就是为什么我必须在开始时检查 div 的颜色。
  • 当我说“页面中的所有内容”时,我试图说“页面中具有#aaa 颜色的所有 div”,而不是“页面中的所有 div”。
  • 好像不错,但还没完。我不仅要检查 div,还要检查 ul、li、img、a 等...我可以做 $("div,ul,li,a,img,...").each(function () { ...}}); ?之后,我不仅尝试在 div、ul、li 等中查找颜色,还尝试查找背景颜色或边框颜色。谢谢
  • 是的,你可以为div 插入任何你想要的元素。我只是以div 为例。
  • 使用 $("*") 代替 $("div") 将允许搜索页面上的所有元素。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-08-23
  • 1970-01-01
  • 2011-01-27
  • 2011-03-06
  • 2014-05-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多