Javascript Datatables,在Ajax调用后更改行颜色

Javascript Datatables,在Ajax调用后更改行颜色,javascript,jquery,datatables,Javascript,Jquery,Datatables,我正在使用ajax和fnOpen函数编辑一个数据表,以便根据特定条件添加行。这就是我的代码的外观: $('#table tr').each(function(){ id = this.id.substr(4); var result2; $.ajaxSetup({async:false}); $.post('file.php', {id: id}, function(result) { result2 = result; });

我正在使用ajax和fnOpen函数编辑一个数据表,以便根据特定条件添加行。这就是我的代码的外观:

$('#table tr').each(function(){
    id = this.id.substr(4);
    var result2;
    $.ajaxSetup({async:false});
    $.post('file.php', {id: id}, function(result) {
        result2 = result;
    }); 
    if (result2 .length > 0) {
        oTable.fnOpen( this, 'Notes: ' + result2, "info_row");
    }
});
上述操作非常有效,将数据插入新行。但是,完成后,我想更改新添加的行,使其与前一行的颜色相同。如何从这里访问datatables选项,并执行此操作?我怎么知道前一排的班级?我对数据表非常陌生,有时会有点迷路


谢谢大家!

首先,我认为您不想在each中调用
$.ajaxSetup
——每次通过
each
时都会更改全局ajax设置。如果您希望在设置中执行的任何操作都应用于所有ajax调用,请在应用程序启动时执行一次

其次,只需更改
post
调用即可修改回调中的行颜色

$.post('file.php', {id: id}, function(result) {
    result2 = result;
    // modify row color here
}); 

您可以使用以下命令在中找到当前行的类:

$('#table tr').each( function () {
                        var rowClass = $(this).attr("class");
调用fnOpen时,第三个参数是一个类,它将被分配给包含注入行的TD元素。当前,您总是将硬编码的“info_row”类放入,但是如果您根据rowClass指定一些动态值,则可以将其设置为与当前行相同的颜色


Jovan

你添加我细节的方式让我大吃一惊;如果你做到了这一点,设置一些课程应该很容易

假设新行在函数结束时位于DOM中,它应该相当简单。完成DOM添加后,在同一函数中(因此,.each()迭代器中的“this”是当前的表行):

我相信您可以看到,您实际上不需要创建变量“prevClass”,但这正是我希望保持事情的条理性和条理性的方式

var $this = $(this) // might as well do this caching near the beginning of the function
var prevClass = $this.prev().class();
$this.addClass(prevClass);