Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 查找颜色的所有css使用的有效方法_Javascript_Jquery_Css - Fatal编程技术网

Javascript 查找颜色的所有css使用的有效方法

Javascript 查找颜色的所有css使用的有效方法,javascript,jquery,css,Javascript,Jquery,Css,在“当前页面”中查找css颜色的所有用途最有效的方法是什么? 对我来说,使用一种颜色可以显示为背景色、字体色、边框色。 在表TDs、Divs、Span、段落(P)等中 我认为做一个类似于这个的“循环”对于整个页面来说是过分的,而这个只是搜索一个特定的HTML标记(DIV)并只验证“颜色”,而不是其他属性 $("div").each(function () { var color = $(this).css("color"); if (color == "#F1F2F3") {

在“当前页面”中查找css颜色的所有用途最有效的方法是什么? 对我来说,使用一种颜色可以显示为背景色、字体色、边框色。 在表TDs、Divs、Span、段落(P)等中

我认为做一个类似于这个的“循环”对于整个页面来说是过分的,而这个只是搜索一个特定的HTML标记(DIV)并只验证“颜色”,而不是其他属性

$("div").each(function () {
    var color = $(this).css("color");
    if (color == "#F1F2F3") {
        console.log('found it!');
    }
});
难道没有最简单的方法来简单地说:“将所有十六进制颜色的XXXXXX值替换为YYYYY?”

在css中,我甚至可能以不同的方式表示颜色(至少5种方式):

更新1

我接受了Garath sugestion,并对其进行了一些研究(所有选择器都带有排除,等等),但我仍然对此不太满意……我仍在尝试识别颜色可能存在的所有不同属性,我甚至没有注意浏览器返回颜色的方式

$('*:not(head, script,link, meta, title)').filter(function() { 
    var replace = 'rgb(0, 0, 0)';
    var replaceFor = '#FF0000';
    if( $(this).css('color') == replace)  $(this).css('color', replaceFor); 
    if( $(this).css('background-color') == replace)  $(this).css('background-color', replaceFor); 
    if( $(this).css('border-color') == replace)  $(this).css('border-color', replaceFor); 
});

如果有一个与此类似的方法就太好了,但是我不需要指定属性类型…

而不是可以使用过滤器的每个函数,但它仍然必须检查所有元素-幸运的是,此检查的复杂性是线性的。 代码段可能如下所示:

$('div').filter(function() {
    var match = '#F1F2F3';
    return ( $(this).css('color') == match );
}).css('color', '#YYYYYY');

注意:不同的浏览器可能返回逻辑上相同但文本上不相等的CSS颜色值,例如#FFF、#ffffff和rgb(255255)---.@web tiki出于我的目的,我需要将其写在代码中,而不是依赖于webbroswer插件/扩展。要查找css颜色的所有用途,您所说的
是什么意思?您是只想打印类似
found color xxx
的内容,还是需要其他内容?请解释一下这样做的意义。不要orget可以遍历样式表,而不仅仅是内联样式。
$('div').filter(function() {
    var match = '#F1F2F3';
    return ( $(this).css('color') == match );
}).css('color', '#YYYYYY');