使用table.row.add添加行时如何通过JS设置Datatables行背景色
该需求可以实现,你可以直接在table.row.add的同逻辑流程内完成操作,不需要额外调整其他代码,也可以通过全局配置统一处理,两种实现方案如下:
方案1:新增行时直接设置(和add逻辑绑定,无需修改初始化配置)
table.row.add()方法执行后会返回当前新增行的实例,你可以直接通过实例获取行DOM元素,判断条件后添加背景样式,修改后的代码如下:
// 添加行,获取行实例 const newRow = table.row.add([ cursor.value.art_nr, cursor.value.article, '<button>click me</button>' ]) // 满足条件时设置行背景为黄色 if(cursor.value.status === "1") { $(newRow.node()).css('background-color', 'yellow') } // 最后渲染表格 newRow.draw()
方案2:全局配置统一处理(所有表格行都遵循该样式规则)
如果你希望所有添加到当前表格的行都自动按照这个规则设置样式,可以在DataTables初始化时添加createdRow回调配置,代码如下:
初始化代码修改:
var table = $('#indexedDB_table').DataTable({ // 行创建完成后的回调,每新增一行都会触发 createdRow: function (row, data, dataIndex) { if(cursor.value.status === "1") { $(row).css('background-color', 'yellow') } } });
原有新增行的代码不需要修改,保持原样即可:
table.row.add( [ cursor.value.art_nr, cursor.value.article, '<button>click me</button>' ] ).draw();
内容的提问来源于stack exchange,提问作者Björn C
相关产品推荐
相关产品推荐

