DataTables - 处理具有特定单元类的行

时间:2016-08-30 15:08:40

标签: javascript jquery datatables

我正在尝试遍历DataTable,并且只处理包含具有“成功”类的单元格的行。我无法正确获取语法;有人可以帮忙吗?

这是我到目前为止所做的(不起作用):

for(i=0; i<myDataTable.rows()[0].length; i++) {
    if(myDataTable.rows(i).data()[0] != "" && myDataTable.rows(i).data()[0].child('td').hasClass('success')) {
        <process stuff>
    }
}

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

您可以使用row().node() DataTables API调用结合.find() jQuery函数执行此操作:

for(i=0; i<myDataTable.rows()[0].length; i++) {
    if(myDataTable.row(i).data()[0] != "" // <-- See Note about this part 
      && $(myDataTable.row(i).node()).find('td.success').length) {
        //process stuff
    }
}

您对代码段的修改将使用node()调用,该调用将获取<tr>找到的行的myDataTable.row(i)元素。然后,我们可以使用find()方法检查<td><tr>任何(如果您只关心特定列,那将会有所不同)拥有success类。

注意

您的代码有myDataTable.row(i).data()[0] != ""。这将检查该行的第一列不是空字符串。如果你希望它成为处理条件的一部分,请将其保留,但我不确定,因为你在问题中没有提到它。

另请注意,对于单行,您应使用row()而不是rows()