2012-01-13 4 views
0

テーブル行の視覚的魅力を向上させるために取り組んでいます。テーブル行のデータは動的に生成され、多くの情報を持ちます。このテーブルには、特定の情報行が発行された時刻を示す列があります。情報が発行された日/月などに基づいて、私は異なる行を色付けする必要があります。テーブル行自体の条件に基づいてjqueryを使用してテーブルの異なる行に色付けする

まさに次のリンクに示すようようなものだ: http://www.nseindia.com/live_market/dynaContent/live_watch/equities_stock_watch.htm

また、テーブルの行は、小さな色付きのバー、同じrow.I午前中に別のフィールドによって決定されるの色を持っている必要がありますjqueryでそれについてどうやって行くのだろうか。私はjavascriptを知っているが、それは混乱している。

何か助けていただければ幸いです。

ありがとうございました。

答えて

1

など。あなたは、値(ゼロ少ないし、テーブルセルの値)に応じて、テーブルセルの背景色を変更することができます。

// for each table cell 
$('td').each(function() { 
    // get table cell value and try to convert to an float 
    var fValue = parseFloat($(this).text()); 
    // if value is a number and less then zero 
    if (!isNaN(fValue) && fValue < 0) { 
     // change the background color to red 
     $(this).css('background-color', 'red'); 
    } 
}); 

スクリプトは、テーブルが構築された後に呼び出されることがあります。このexampleも参照してください。

=== === UPDATE

セルの行を取得するには、.parent()を使用することができます。

// for each table cell 
$('td').each(function() { 
    // get table cell value and try to convert to an float 
    var fValue = parseFloat($(this).text()); 
    // if value is a number and less then zero 
    if (!isNaN(fValue) && fValue < 0) { 
     // get table row 
     var oTableRow = $(this).parent(); 
     // change the background color to red 
     oTableRow.css('background-color', 'red'); 
    } 
}); 

はまた、このexampleを参照してください。


次の代替すべてtr秒以上歩くことです:

$('tr').each(function() { 
    var jRow = $(this); 
    // for each table cell 
    jRow.find('td').each(function() { 
     // get table cell value and try to convert to an float 
     var fValue = parseFloat($(this).text()); 
     // if value is a number and less then zero 
     if (!isNaN(fValue) && fValue < 0) { 
      // change the background color of the row to red 
      jRow.css('background-color', 'red'); 
     } 
    }); 
}); 

このexampleを参照してください。


.find("td.<selector>")<selector>tdのクラスである必要があります使用するには。代わりに.find("td[attr='..']")を使用して、tdのすべてを特殊属性でフィルタリングすることができます。しかし、私はコンテンツのセレクタを知らない。

+0

問題は 'td'ではなく' tr'をループし、 'find(" td。 ")' ... –

+0

で条件値を持​​つセルにアクセスすることをお勧めします私は私の答えを更新しました。 – scessor

+0

素晴らしい!それは詳細な答えです:-)私は最後の解決策が尋ねられたものから最も近いと思います... –

関連する問題