0

他のセルとは異なるフォーマットで連続した行のセルに色を付ける必要があります。条件付き生フォーマット

疑似コードは次のようになります。

foreach oddrow in table
    foreach cell in row
        if cellvalue != previosCellvalue(previous even)
              color differently

例えば:

<table>
   <tr>
      <td>1</td><td>2</td>
   </tr>
      <td>1</td><td>3</td>
   <tr>
      <td>2</td><td>4</td>
   </tr>
   <tr>
      <td>2</td>4<td></td>
   </tr>
</table>

上記の表では、行1のセル2と行2のセル2のスタイルが異なり、他のすべてのセルのスタイルは保持されます。

4

3 に答える 3

2

jQueryでタグ付けしたので、解決策は次のとおりです。 http://jsfiddle.net/kWeNY/

var last, inner;
$('table tr').each(function(i,tr) {
    inner = $.trim($(tr).html());
    if (inner == last) {
        $(tr).css('background-color', 'red');
    }
    last = inner;    
});​

良い。追加の疑似アルゴリズムを使用すると、http: //jsfiddle.net/gbw49/で各 2 行のみを確認することもできます。

var last, inner;
$('table tr').each(function(i,tr) {
    inner = $.trim($(tr).html());
    if (inner == last && i % 2) {
        $(tr).css('background-color', 'red');
    }
    last = inner;    
});​
于 2012-11-09T18:27:29.963 に答える
0

これをチェックしてください。問題が正しいことを願っています
http://jsfiddle.net/kWeNY/1/

    $('table tr:nth-child(even) td:eq(1)').each(function()
        {
            var  firstVal = $(this).text();
            var firstTd = $(this).closest("tr").prev().find("td:eq(1)");
             var secondVal = firstTd.text();
            if(firstVal != secondVal)
            {
                $(this).css({"background-color":"red"});
                firstTd. css({"background-color":"red"}); 
            }
        }
    );
于 2012-11-09T18:57:43.390 に答える
0

使ってみて

$('table tr td:nth-child(2)')

css を追加するには、次のようにします。

$(document).ready(function () {
        $('table tr td:nth-child(2)').css("background", "red");
        $('table tr td:nth-child(2)').css("color", "blue");

    });

行1と行2に対してのみそれを行いたい場合は、試してください

$(document).ready(function () {
         $('table tr:eq(0) td:nth-child(2)').css("background", "green");
         $('table tr:eq(1) td:nth-child(2)').css("background", "green");
    });
于 2012-11-09T18:19:01.047 に答える