我正在尝试遍历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>
}
}
有什么建议吗?
答案 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()
。