我想在获取ajax的响应后在td中添加html元素。
结果将是:
<tr>
<td class="mycus-class" data-title="abc"><span class="mycus-class2">XYZ</span></td>
<td class="mycus-class" data-title="ghi"><span class="mycus-class2">GKL</span></td>
.....
</tr>
答案 0 :(得分:13)
使用render()
函数非常简单,这里有一个小小的演示:
var data = [
{ firstName: 'john', lastName : 'doe' }
]
var table = $('#example').DataTable({
data : data,
columns : [
{ data : 'firstName',
render : function(data, type, row) {
return '<span class="mycus-class2">'+data+'</span>'
}
},
{ data : 'lastName' }
]
})
<强> http://jsfiddle.net/e9be48oq/ 强>
您可以在一次调用中定位多个列:
columnDefs : [
{ targets : [0,3,4,5],
render : function(data, type, row) {
return '<span class="mycus-class2">'+data+'</span>'
}
}
]
答案 1 :(得分:0)
"fnRowCallback": function (nRow, aData, iDisplayIndex, iDisplayIndexFull) {
console.log(aData[1]);
if (aData[1] == "Imported")
{
// $('td').css('background-color', '#FBE9E7');
$(nRow).find('td:eq(1)').addClass('label label-success');
} else if (aData[1] == "Inactive") {
$(nRow).find('td:eq(1)').addClass('label label-danger');
} else if(aData[1] == "Exported") {
$(nRow).find('td:eq(1)').addClass('label label-primary');
}else{
$(nRow).find('td:eq(1)').html('<span class="label label-default">'+aData[1]+'</span>');
// $.addClass('label label-default');
}
},