Jquery Datatables—突出显示从服务器获取的任何行

Jquery Datatables—突出显示从服务器获取的任何行,jquery,datatables,Jquery,Datatables,我正在从mysql获取数据,我想突出显示获取的第一行数据 这是我的密码 $(document).ready(function() { $('#example').dataTable( { "bProcessing": true, "bServerSide": true, "sAjaxSource": "scripts/server_process

我正在从mysql获取数据,我想突出显示获取的第一行数据

这是我的密码

$(document).ready(function() {
                $('#example').dataTable( {
                    "bProcessing": true,
                    "bServerSide": true,
                    "sAjaxSource": "scripts/server_processing.php"
                } );                
                $('tr:eq(2)').addClass( 'tcurrent' );
            } );
代码按原样获取数据,但突出显示表脚

这是我的css

.tcurrent{background-color:pink;}

是否可以使用现有回调之一来完成此操作?

您可以在
css

table tbody tr:nth-child(3){
    background-color:pink;
}
已更新

$('#example').dataTable( {
      "bProcessing": true,
      "bServerSide": true,
      "sAjaxSource": "scripts/server_processing.php",
      "fnDrawCallback": function( oSettings ) {
          $('#example tr:eq(2)').addClass( 'tcurrent' );
      }
});
读取文档

$('tr:eq(2)
正在选择第三行


如果需要第一个,请使用
$('tr:eq(0)
$('tr:first')

问题是,您的脚本正在运行,来自服务器的数据可能尚未加载到表中

由于您使用的是服务器端处理,因此它异步加载数据,这意味着当执行
$('tr:eq(2)').addClass('tcurrent')
时,表可能不包含任何行

这种情况下的解决方案是使用一个负载回调方法,但在本例中,我没有看到任何服务器负载回调

一种可能的解决方案是使用fnRowCallback

"fnRowCallback": function( nRow, aData, iDisplayIndex, iDisplayIndexFull ) {
  // Bold the grade for all 'A' grade browsers
  if ( iDisplayIndex == 2 ) {
    $(nRow).addClass( 'tcurrent' );
  }
}

您是否尝试过突出显示页眉的
$('tbody tr:first child')
?在这种情况下,使用
$('tr:eq(1))
进行下一步操作。这将突出显示页脚。我正在尝试使用回调。我尝试过使用fnDrawCallback,结果仍然相同。@Logan尝试使用FNRrowCallback,使用
iDisplayIndex
查找行索引并将类添加到
nRow
这突出显示了第二列
“fnRowCallback”:函数(nRow,aData,iDisplayIndex,iDisplayIndexFull){$('td:eq(1)',nRow).addClass('current');}
,这是有效的,但因为我使用了
$(nRow).css的特殊性问题('background','pink');
@Logan Ztest上述答案我对其进行了更改。您过去在行回调中的建议取得了一些成功,但它突出显示了第二列,而不是行。您发布的代码与我使用的代码相同,根据
eq()突出显示了表脚和表头