关闭这个问题:Selecting elements with a certain background color
我想用一定颜色的背景来改变所有元素的背景。我尝试了答案中提到的方法,但它似乎对我没用。
// using string
$('*').filter(function(){
return ( $(this).css('background-color') == 'green' );
}).css('background', 'blue');
// using hex
$('*').filter(
return ( $(this).css('background') == '#a3a3a3' );
}).css('background', 'red');
这里是 JS Bin
答案 0 :(得分:1)
您应首先将十六进制转换为RGB,然后比较
示例强>
<script>
function hexToRgb(hex) {
var bigint = parseInt(hex, 16);
var r = (bigint >> 16) & 255;
var g = (bigint >> 8) & 255;
var b = bigint & 255;
return "rgb(" + r + ", " + g + ", " + b + ")";
}
$('*').filter(function () {
return ($(this).css('background-color') == hexToRgb('a3a3a3'));
}).css('background', 'green');
</script>
<强> jsFiddle 强>