0

複数のテーブルを含む大きなファイルがあり、ソースを編集できます。私はこのようないくつかの行を持っています:

<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(青)に変更され、bgの色が#ffffffが#080808)(黒)に変更されたものは何でも言いたいと思うかもしれません。

私はそれがこのようなものになるだろうと質問しますが、それを機能させることはできません

$('*').filter(function() {
var match = 'rgb(182, 211, 252)';
return ( $(this).css('background-color') == match );
}).css('background-color', '#e7e4d3'); 

これは、RGBカラーを使用する場合は機能しますが、16進カラーを使用するために必要です。

どんな助けでも大歓迎です

ありがとうbaz

4

3 に答える 3

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...
    }); 
});
于 2013-02-13T10:02:11.300 に答える
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;
    }

  });
于 2013-02-13T10:06:44.790 に答える
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");
    }
});
于 2013-02-13T10:18:09.750 に答える