2012-02-21 63 views
1

我有一個表的一些數據。某些事件發生後,我想突出顯示欄。突出搜索表數據和列

http://jsfiddle.net/bpGaf/

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

但只突出一個連我都用每個功能細胞。

+0

它使用的是bqz:eq(2)。如果使用這個,它只會突出顯示特定單元 – Gopesh 2012-02-21 08:10:58

+0

另外,請考慮使用CSS類。稍後從樣式表中更改應用於選定單元格的特定顏色和樣式要比在javascript中查找位置以更改它更容易。 – GregL 2012-02-21 08:18:42

回答

4

你選擇說「裏面所有#tableFilter<td>元素中,只考慮3一」,而不是「在第三個<td>在每個<tr>內部的表「,因爲它應該。

這會做你想要它做的事情:

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

jsFiddle demo

+1

感謝您的詳細信息和代碼。它現在的工作:) – 2012-02-21 10:03:17

2

試試這個,它更小的解決方案:

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

Lol,幾乎與我的代碼相同,在我發佈它之前的幾秒鐘,但你沒有解釋他的代碼爲什麼不起作用。但我很高興我們都同意正確的做法。 – GregL 2012-02-21 08:09:18

+0

好吧,我改變了我的答案,以一個更小的解決方案;) – silly 2012-02-21 08:13:40

+0

不錯,我沒有想到這種單線的方式。雖然,AFAIK,jQuery只是在你的代碼的幕後做一個'.each()'循環,它只是不會讓你的代碼混亂。 :-) – GregL 2012-02-21 08:16:51

2

最短的代碼突出第三個colu mn:

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

+1

不錯,簡潔,和':nth-​​child()'選擇器的很大用處。 – GregL 2012-02-21 10:05:36