如何更改 JQuery.DataTable 中特定单元格的背景?

Posted

技术标签:

【中文标题】如何更改 JQuery.DataTable 中特定单元格的背景?【英文标题】:How do you change background of specific cell in a JQuery.DataTable? 【发布时间】:2014-08-09 06:09:23 【问题描述】:

我正在尝试更改 DattaTable 中某些特定单元格的样式,但我不知道该怎么做。我知道如何更改整个专栏,但这不是我需要的。 所以假设我的数据是这样的:


name: "user1",
gender : "f",
age: 54
,
name: "user1",
gender : "m",
age: 33

在我的桌子上,我有

columns: [ 
data: "name"
,
data: "age"
]

我想突出显示,比如说,蓝色 case gender = "m" 或 red case gender = "f" 中的年龄单元格。

对我如何做到这一点有什么建议吗?

谢谢!

【问题讨论】:

【参考方案1】:

您将使用column configuration's createdCell function。

基本上,您需要为性别列添加一个列定义,其中包含将在填充单元格时调用的回调。尝试将此对象添加到您的列数组中:

    
      data: "gender",
      createdCell: function(td, cellData, rowData, row, col)
        var color = (cellData === 'm') ? 'blue' : 'red';
        $(td).css('color', color);
      
    

Here is a working example.

【讨论】:

我实际上是想根据性别单元格更改年龄单元格(或任何其他单元格)的样式。但这也有效!这是完美的!谢谢!! 同上,但更改 CSS 时使用 'background-color',而不是 'color'。 这比使用渲染回调和 css nth-child 选择器来定位 td 单元格的同一问题的其他答案要好得多!当然 createdCell 仅在 DataTables 1.10 版之后才可用。

以上是关于如何更改 JQuery.DataTable 中特定单元格的背景?的主要内容,如果未能解决你的问题,请参考以下文章

如何根据值更改jquery dataTable中的行颜色

jquery datatable 禁用特定行中的排序

jquery datatable 通过oSetting更改sAjaxsource,如何重新获取数据

我可以从 jQuery DataTable 中检索列/搜索特定数据吗?

Jquery Datatable 分页按钮样式修复

jquery datatable如何动态分页