Javascript:根据服务器数据在动态生成的表上向TD添加类

时间:2018-05-01 22:16:11

标签: javascript jquery

我有下面的脚本,它根据我从Here (hopefully I got the anchor tag right, here should be a link)获得的服务器正在为我提供的对象数组动态生成一个表。

// Builds the HTML Table out of myList json data from Ivy restful service.
function buildHtmlTable(myList) {
 var columns = addAllColumnHeaders(myList);
  for (var i = 0 ; i < myList.length ; i++) {
     var row$ = $('<tr/>');
     for (var colIndex = 0 ; colIndex < columns.length ; colIndex++) {
         var cellValue = myList[i][columns[colIndex]];
         if (cellValue == null) { cellValue = ""; }
\\This is where I want to put the code that compares cellValue and applies 
\\the class
         row$.append($('<td/>').html(cellValue));
     }
     $("#Jsontable").append(row$);
 }
 }
function addAllColumnHeaders(myList)
{
 var columnSet = [];
 var headerTr$ = $('<tr/>');
 for (var i = 0 ; i < myList.length ; i++) {
     var rowHash = myList[i];
     for (var key in rowHash) {
         if ($.inArray(key, columnSet) == -1){
             columnSet.push(key);
             headerTr$.append($('<th/>').html(key));
         }
     }
 }
 $("#Jsontable").append(headerTr$);
 return columnSet;      
}

我无法弄清楚如何基于将cellvalue的值与目标值进行比较来为每个td添加一个类,如果它更高,则将其归类为.red,如果不是,则为.green。我在上面的代码中的评论是我认为if / then应该出现的地方,但我的功夫在这里并不好。

1 个答案:

答案 0 :(得分:0)

类似的东西:

row$.append($('<td/>').html(cellValue).addClass(cellValue > goal ? 'red' : 'green'));