2012-09-18 64 views
0

我有一個表格,如http://jsfiddle.net/Lijo/UqdQp/4/所示。對於值爲「1」的所有列,我需要將背景色設置爲紅色。使用jQuery做這件事的最好方法是什麼(就性能而言)?根據單元格中的值選擇表單元格

注意:做完背景色之後,我還需要提醒表格單元格的值。這意味着我需要在所選單元格上使用「this」運算符。

參考答案:

  1. http://jsfiddle.net/Lijo/uGKHB/11/
  2. http://jsfiddle.net/Lijo/uGKHB/12/
  3. Finding column index using jQuery when table contains column-spanning cells
+0

所有包含* a * 1的列,或者所有包含所有值(除標題行外)*都爲* 1的列? –

回答

1
var $tds = $("td").filter(function(i){ 
    return $(this).html() == 1; 
}); 

$tds.css({ background: 'red' }); 

$.each($tds, function(i, x){ 
    console.log($(x).html()); 
}); 

我用的console.log而不是警報的原因很明顯。

+0

它也爲「1234」着色。我們如何克服這一點? http://jsfiddle.net/Lijo/uGKHB/3/ – Lijo

+0

更新...只是注意到了。 – chovy

+0

謝謝。我試圖將這應用到標題單元格 - 沒有工作。任何想法爲什麼? http://jsfiddle.net/Lijo/uGKHB/7/ – Lijo

1

我已經使用的jQuery的each函數來迭代每個表格單元,並且當它突出顯示細胞符合所需條件。
工作演示: http://jsfiddle.net/saji89/uGKHB/

$('.resultGridTable td').each(function() 
{ 
    if($(this).html()==1) 
    { 
     $(this).css({'background':'#FF0000'}); 
    }   
}); 

使用contains選擇,而不是if條件,應多快: http://jsfiddle.net/saji89/WbXTr/

+0

請在答案中發佈您的答案,而不是依賴外部網站來託管您的代碼。 –

+0

謝謝。有用。不過,我想知道是否有更快的方法。 – Lijo

+0

檢查了這一點,使用'contains'選擇器,從而避免了'if'的用法:http://jsfiddle.net/saji89/WbXTr/ – saji89

相關問題