2012-03-27 13 views
0

にこのようなテーブルを持っている場合は...もちろん、複数の<td> one..withテーブルセルの変更テキストの色(他に、場合)

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

と..だから

今私数字が5よりも小さい場合、<td>のテキストの色を変更したいと考えています。

これはjQueryで可能ですか?

<td>に入力フィールドまたは段落はありません。テキストのみです。あなたはこのようなフィールドの内容をテストすることができ

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

あなたは "数が5よりも小さい場合" とはどういう意味ですか?あなたはTDのテキストで20、つまりcell1クラスの1を意味しますか?あるいは、TDの発生数を意味しますか? – afrederick

答えて

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

各セルを繰り返し処理し、検査値、それに応じて

を変更

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

+0

jsfiddleへのリンクにあなたのコメントを編集しました –

+0

ニース、ありがとう、たくさん:)) –

+0

@AndrewJacksonあなたはこのhttp://meta.stackexchange.com/questions/5234/how-does-accepting-anで読んでみたいです-answer-work :) –

0

これは動作するはずに

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

はい。.eachを使用すると、すべての表のセルをループできます。これで、セルにtextparse 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!

関連する問題