jQuery DataTables单元格样式

时间:2016-06-16 20:56:59

标签: javascript jquery css ajax datatables

我正在使用jQuery DataTables,我可以查看行数据并将行着色。

以下是创建数据表的代码:

 var $dataTable = $('#example1').DataTable({
   "data": data,
   "dataType": "json",
   "iDisplayLength": 25,
   "order": [[6, "desc"]],
   "scrollY": 550,
   "scrollX": true,
   "bDestroy": true,
   "stateSave": true,
   // here is the part that styles the row
   "fnRowCallback": function(nRow, aData, iDisplayIndex, iDisplayIndexFull)
   {
     if (aData[12] == "Y"){$('td', nRow).css('background-color', '#EE6363');}
     if (aData[9] == "Y"){$('td', nRow).css('font-weight', 'bold');}
   }
 });

因此,如果您在上面的代码中注意到,第一个if语句将检查第12列的行数据(称为REJECTED)是否为“Y”。如果是这样,请将整行设为红色。

第二个if语句检查第9列的行数据(称为URGENT)是否为“Y”。如果是这样,请将整行的文本设为粗体。

我想做的是让该列的单元格为红色而不是整行,主要是第一行。

如何更改上面的代码才能实现此目的?

2 个答案:

答案 0 :(得分:0)

我无法测试它....

但我会尝试这样的事情:

if (aData[12] == "Y"){$('td', nRow)[12].css('background-color', '#EE6363');}

或者这个棘手的事情:

if (aData[12] == "Y"){$('td', nRow).parent().children()[12].css('background-color', '#EE6363');}

如果从零开始:

if (aData[12] == "Y"){$('td', nRow)[11].css('background-color', '#EE6363');}

或者:

if (aData[12] == "Y"){$('td', nRow).parent().children()[11].css('background-color', '#EE6363');}

答案 1 :(得分:0)

以下是为目标单元格着色的代码:

 if (aData[12] == "Y"){$('td', nRow).eq(1).css('background-color', '#BF5FFF');}

通过添加eq(1),我可以对数据表中的第二个单元格进行定位和着色。这就是我开始工作的方式。