下面的代码会将所有具有黑色类的元素的颜色设置为黑色。但是,您可以在 CSS 中设置它,而不是对元素应用另一种颜色
$.fn.replaceCss = function(properties,find,replaceWith, normalize) {
find = normalize ? normalize(find) : find;
return this.each(function(){
var prop,
self = $(this),
css = self.css(properties);
for(prop in css){
if(css.hasOwnProperty(prop)){
val = normalize ? normalize(css[prop]) : css[prop]
if(val == find){
css[prop] = replaceWith;
}
}
}
self.css(css);
return this;
});
};
然后你可以这样称呼它
$('.black').replaceCss(['color','background-color','another-color-property'],
"#0088cc",
"#000");
但是颜色可能会以多种格式返回,因此您可能需要先对其进行标准化
$('.black').replaceCss(['color','background-color','another-color-property'],
"#0088cc",
"#000",
function(val){
val = val.replace(/\s/g,"");
return val == "rgb(0,136,204)" ? "#0088cc" : val
});