2012-02-21 12 views
1

私はいくつかのデータを持つ1つのテーブルを持っています。イベントの後、私は列を強調したい。検索されたテーブルのデータと列をハイライト表示

http://jsfiddle.net/bpGaf/

jQuery('#tableFilter td:eq(2)').each(function(){ 
    jQuery(this).css('background-color','#cc0');}); 

しかし、それは私が機能を使用しているだけでも一つのセルを強調表示します。

jQuery('#tableFilter tr').find('td:eq(2)').css('background-color','#cc0'); 
+0

これは使用されています:これが使用されている場合は、その特定のセルだけを強調表示します – Gopesh

+0

また、代わりにCSSクラスを使用することを検討してください。選択したセルに適用される特定の色とスタイルを後でスタイルシートから変更する方が、javascriptの場所を変更して変更する方がはるかに簡単です。 – GregL

答えて

4

あなたのセレクタは、その内部の各<tr>で第三<td>を取るという」よりも、「すべての<td>要素#tableFilter内部のうち、唯一の第三1を考える」と言う:

+1

詳細とコードをありがとう。今働いています:) –

2

は、この、その小さいソリューションを試してみてくださいテーブル "を必要とします。 、

jQuery('#tableFilter tr').each(function() { 
    jQuery(this).find('td:eq(2)').css('background-color', '#cc0'); 
});​ 

jsFiddle demo

+0

Lolは、私が投稿した数秒前に数秒前と同じコードでしたが、コードがうまくいかなかった理由を説明しませんでした。しかし私たちはどちらも正しいアプローチに同意してうれしいです。 – GregL

+0

ok私は小さな解決策に私の答えを変えた;) – silly

+0

ニース、私はそれを一直線に並べるその方法を考えなかった。しかし、AFAIK、jQueryはあなたのコードでシーンの背後にある '.each()'ループを実行するだけですが、コードを乱雑にしているわけではありません。 :-) – GregL

2

最短コードで更新をチェックしてください:

これは、あなたがそれが何をしたいだろう第3列を強調するmn:

$( '#tableFilter td:nth-​​child(3)')css( 'background'、 '#cc0');

+1

素敵で簡潔で、 ':nth-​​child()'セレクタを使いました。 – GregL

関連する問題