我有一个包含多个表的大文件,我可以编辑源代码。我有几行像这样:
<tr bgcolor=#cccccc ><td>some data </td></tr>
<tr bgcolor=#ffffff ><td>some data </td></tr>
<tr bgcolor=#080808 ><td>some data </td></tr>
<tr bgcolor=#cccccc ><td>some data </td></tr>
<tr bgcolor=#ffffff ><td>some data </td></tr>
<tr bgcolor=#cccccc ><td>some data </td></tr>
<tr bgcolor=#cccccc ><td>some data </td></tr>
我需要一个jquery语句来替换颜色。所以我可能想说#cccccc的颜色改为#09c(蓝色),而#gffff的bg颜色改为#080808(黑色)。
我认为它会是这样的但是无法让它工作
$('*').filter(function() {
var match = 'rgb(182, 211, 252)';
return ( $(this).css('background-color') == match );
}).css('background-color', '#e7e4d3');
如果我使用RGB颜色,但是我需要它使用十六进制颜色,这是有效的。
非常感谢任何帮助
谢谢巴兹
答案 0 :(得分:0)
您需要转换rgbtohex
<强>样品强>
function rgb2hex(rgb)
{
rgb = rgb.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);
return "#" +
("0" + parseInt(rgb[1],10).toString(16)).slice(-2) +
("0" + parseInt(rgb[2],10).toString(16)).slice(-2) +
("0" + parseInt(rgb[3],10).toString(16)).slice(-2);
}
$(function()
{
$('tr').each(function()
{
var mainTr = $(this);
var trColor = rgb2hex($(this).css('background-color'));
//check for hex code and replace it accordingly...
});
});
答案 1 :(得分:0)
如果我理解你,你会想要像http://codepen.io/anon/pen/sGLAc
这样的东西$('tr').each(function(){
var row = $(this),
bg = row.attr('bgcolor');
switch(bg.toLowerCase())
{
case '#ffffff':
row.attr('bgcolor', 'red');
break;
default:
console.log(bg);
break;
}
});
答案 2 :(得分:0)
可能这对你有帮助。
$("*").css("color", "red");
$("table tr").each(function(){
//alert($(this).attr("bgcolor"));
if($(this).attr("bgcolor") == '#cccccc')
{
$(this).attr("bgcolor","#09c");
}
if($(this).attr("bgcolor") == '#ffffff')
{
$(this).attr("bgcolor","#080808");
}
});