繁体   English   中英

加载页面后,我可以搜索并替换CSS文件中的颜色吗?

[英]Can I search and replace colours in a CSS file when a page loads?

我想做的是在CSS文档中搜索由十六进制值标识的特定颜色的所有实例,然后用新的十六进制值替换所有这些实例。 然后, 更改颜色之后 ,将CSS应用于页面。

实际上,CSS文档只是一个文本文件,因此,肯定有一种在将其提供给浏览器之前对其进行捕获并进行一些基于文本的搜索和替换的方法。 查找特定的十六进制代码,然后用其他实例替换所有实例。

那怎么办?

您可以执行以下操作:

function changeColor(oldColor, newColor) {
   var all = document.getElementsByTagName('*');

   Array.prototype.forEach.call(all, function(element){
     if (element.style.background === oldColor) {
       element.style.background = newColor;
     }
   })  
}

这样,您就可以遍历页面上的每个元素,检查它是否具有旧颜色,然后,将其更改为新颜色。

首先,您的代码中存在一些错误。

我已经制作了JSFIDDLE

    function changeColor(color) {
   var a =  document.getElementById('coloredThing');
   a.style.background = color;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM