我正在使用jQuery和datatables。我想在特定行的TR元素中添加一个类。我知道如何找到这一行。 console.dir(row);
显示row
对象,并以tr
元素开头。我不能让jQuery选择器做任何事情。我错过了什么?
table = $('#resultTable').DataTable({
aaSorting: [],
ajax: {...},
columnDefs: [...],
createdRow: function (row, data, index) {
//
// if the second column cell is blank apply special formatting
//
if (data[1] == "") {
console.dir(row);
$('tr', row).addClass('label-warning');
}
}
});
答案 0 :(得分:45)
答案 1 :(得分:8)
您只需使用 createdRow
即可$('#data-table').DataTable( {
createdRow: function( row, data, dataIndex ) {
// Set the data-status attribute, and add a class
$( row ).find('td:eq(0)')
.attr('data-status', data.status ? 'locked' : 'unlocked')
.addClass('asset-context box');
}
} );
答案 2 :(得分:4)
如果要在Datatables中使用行添加功能时添加类,可以从node()
方法获取TR-DOM:
var datatable = $('#resultTable').DataTable();
var trDOM = datatable.row.add( [
"Col-1",
"Col-2"
] ).draw().node();
$( trDOM ).addClass('myClass');
答案 3 :(得分:1)
如果您使用的是“ columns”或“ columnDefs”
使用
设置类"columns": [
{
data:"",
className: "my_class",
render: function (data, type, row) { return "..."; }
},
{
data:"",
className: "my_class",
render: function (data, type, row) { return "..."; }
},
//...
]
类似于'columnDefs'的东西,请检查此参考: https://datatables.net/reference/option/columns.className
对于行ID,请使用
//....
rowId: "ShipmentId",
columns: [...],
//....
答案 4 :(得分:0)
您还可以通过传递发送到datatable的json数据将类添加到tr
。每个json项都具有DT_RowClass
就足够了。
例如:
{
DT_RowAttr = new
{
attr1 = "1",
attr2 = "2"
}
DT_RowClass = "majid",
DT_RowId = "rowId"
}
在此示例中,DT_RowId
值应用于任何id
标签的tr
属性,而DT_RowAttr
值将某些自定义属性应用于tr
标签。