我正在使用https://www.datatables.net/插件。 这是我单个行的样本数据
{
id: 12,
name: 'Fred',
highlight: ['name'] // highlight column with name key
}
突出显示键指示要突出显示的键,在本例中为名称列。
问题: 我知道我可以使用rowCallBack并在那里操作单元格,但我似乎无法弄清楚如何找到单元格的列名称,以便我可以突出显示它。
目的: 如何查找每个单元格的列名称,以便检查它是否存在于高亮数组中,然后添加高亮类红色
JSFIDDLE: https://jsfiddle.net/bababalcksheep/oLjy0rmL/
JS:
$(document).ready(function() {
//
var data = [{
id: 12,
name: 'Fred',
highlight: ['name'] // highlight column with name key
}, {
id: 13,
name: 'Simon',
highlight: []
}, {
id: 14,
name: 'Albert',
highlight: ['name']
}];
//
var table = $('#example').DataTable({
"columns": [{
'title': 'ID',
'data': 'id',
'name': 'id',
}, {
'title': 'Name',
'data': 'name',
'name': 'name',
}],
data: data,
rowCallback: function(row, data, index) {
var _hasHighlight = data.highlight && data.highlight.length;
if (_hasHighlight) {
$(row).find('td').each(function() {
//how do I find each cell`s column name so i can check
//if it exists in _hasHighlight array then add highlight class red
});
}
}
});
});
答案 0 :(得分:1)
$(row).find('td').each(function() {
您能否尝试用以下代码替换上面的代码行,这将给出列名称。
$(row).find('td').each(function (colIndex) {
alert($('#example').DataTable.arguments[0].columns[colIndex].title);