2012-03-27 79 views
0

如果有一個這樣的表..更改文本顏色(如果,否則)

<table> 
<tr> 
<td class="cell1">20</td> 
</tr> 
</table> 

等one..with多個<td>當然..

現在我想改變文字的<td>的顏色,如果數量大於5

smaler這是可能使用jQuery?

<td>沒有輸入字段或段落,只是文本。

+1

你所說的 「如果該數字小於5」 是什麼意思?你的意思是TD中的20個,還是你的意思是cell1類中的1個?或者你是指TD事件的數量? – afrederick 2012-03-27 16:39:06

回答

3
$('.cell1').each(function(i, n) { 
    if($(n).text() < 5) $(n).css('color', 'green'); 
}); 

迭代通過每個單元,校驗值,然後相應地改變

http://jsfiddle.net/bQfb6/2/

+0

編輯我的鏈接評論到的jsfiddle – 2012-03-27 16:40:01

+0

尼斯,非常感謝:)) – 2012-03-27 16:49:14

+0

@AndrewJackson你可能想在此有一個讀http://meta.stackexchange.com/questions/5234/how-does-accepting-an -answer-work :) – 2012-03-27 17:43:47

0

這應該工作:

$("table.myTable td").each(function(){ 
    if(parseInt($(this).html())<5){ 
     $(this).addClass("newColor"); 
    } 
}); 
0

可以測試領域的這樣的內容:

$('.cell1').each(function() { 
    if($(this).text() < 5) { 
     $(this).css('color', 'red'); 
    } 
}); 
0

是的。您可以使用.each來遍歷所有表格單元格。然後,您可以在單元格中獲取text,然後在parse it as an integer (base 10)中獲取。如果它小於5,你可以將csscolor更改爲任何你想要的。

我假設所有的數字都是整數,並且在頁面加載後它們不會改變。

例如:

$("td").each(function(){ 
    $cell = $(this); 
    if(parseInt($cell.text(),10) < 5){ 
     $cell.css("color", "red"); 
    } 
});​ 

Try it!