1

私がする必要があるのは、内部のデータが同じ行の3番目の列td内のデータと一致する場合、最初の列tdにクラスを追加することです。

http://jsfiddle.net/rUssu/

htmlテーブル

<table border="1">
   <tr><th>first</th><th>second</th><th>third</th></tr>
   <tr><td>0</td><td>1</td><td>2</td></tr>
   <tr><td>3</td><td>4</td><td>3</td></tr>
   <tr><td>6</td><td>7</td><td>9</td></tr>
 </table>

javascript / jquery

var cPrice = $('th').filter(':contains("first")');
var cDefault = $('th').filter(':contains("third")');

cp = cPrice.index() + 1;
cd = cDefault.index() + 1;

$('table td:nth-child(' + cp + ')').filter(function () {
   //alert($(this).text());
   var temp = $(this).index() + 2;
   //alert(temp);

   return $(this).text() != $('table td:eq('+ temp +')').text();
}).addClass("boom");

css

th{padding:5px;}
td{text-align:center;}
.boom{color:red;}
4

2 に答える 2

2

http://jsfiddle.net/rUssu/1/

return $(this).text() != $(this).nextAll().eq(1).text();

セレクターは、現在の行のTDだけでなく、すべてのTDの一時TDを取得していました。

于 2013-02-14T00:24:50.230 に答える
2

次のように、各行を個別に繰り返し、セル1とセル3を比較できます。

$('table tr').each(function () {
    var $firstCell = $('td:eq(0)', this);
    var $thirdCell = $('td:eq(2)', this);

    if($firstCell.text() === $thirdCell.text()){
        $firstCell.addClass('boom');
    }
})

編集

コードをもう一度見てみると、現在のセルのsiblings()を使用しても、次のように機能するはずです。

$('table td:nth-child(' + cp + ')').filter(function () {
      return $(this).text() === $(this).siblings().eq(1).text();
}).addClass("boom");

デモ-現在のセルを次の2番目の兄弟と比較します


于 2013-02-14T00:26:59.133 に答える