如何添加条件并更改表格行的颜色

时间:2017-12-28 14:35:15

标签: javascript jquery html

我有一个javascript,它将从JSON中读取值,并在HTML页面中动态创建一个表。

<div style="width:700px;padding:20px;S">
            <h1 style="text-align:center"><i style="color:#ccc">ALM Server Availability</i></h1>

            <table id="records_table" class="table">
                <tr>
                    <th>Server Name</th>
                    <th>Availability %</th>
                </tr>
            </table>
        </div>

JQUERY:

function availshow(series) {
    // 1. remove all existing rows
    $("tr:has(td)").remove();

    $.each(series.data.hostgroup.hosts, function (index, test) {
       $('<tr>').append(
            $('<td>').text(test.name),
            $('<td>').text(parseInt((test.time_up/86400)*100)),
        ).appendTo('#records_table');           
    });
 }

现在我需要检查条件(test.time_up/86400)*100) < 100的值,然后我需要将该特定行变为红色。我怎样才能实现它。

2 个答案:

答案 0 :(得分:2)

您可以执行此操作,循环浏览每个tr,然后查找第二个td

$('#records_table tr').each(function() {
  var $td = $(this).find('td:eq(1)');
  var value = $td.text();
  if (parseInt(value) < 100) {
    $td.css('background-color', 'red');
  }
});

答案 1 :(得分:1)

你的JQuery功能应该是这样的:

    var i=0
    function availshow(series) {
            // 1. remove all existing rows
            $("tr:has(td)").remove();

            $.each(series.data.hostgroup.hosts, function (index, test) {
            i=(test.time_up/86400)*100);
               $("<tr"+(i < 100 ? "class:'redBlock'": "")+">").append(
                    $('<td>').text(test.name),
                    $('<td>').text(parseInt((test.time_up/86400)*100)),
                ).appendTo('#records_table');           
            });
         }

然后使用您想要的所有样式在.css文件中创建该类:

.redBlock{
background-color:red;
}

希望我能提供帮助。 快乐编码:)