Javascript 将自定义类标签添加到datatable行

Javascript 将自定义类标签添加到datatable行,javascript,r,shiny,datatables,dt,Javascript,R,Shiny,Datatables,Dt,是否可以将costum类别标签添加到data.table行 我使用formatStyle将我的DT行格式化为黄色背景,以防某个条件已满 DT::formatStyle(1, target = "row", backgroundColor = DT::styleEqual(trans_age(), c("yellow"))) %>% 但是,当我想使用web浏览器的“打印”功能打印表格时,颜色不会显示。 因此,我的想法是在特定的页面上添加一个类标签,并

是否可以将costum类别标签添加到data.table行

我使用formatStyle将我的DT行格式化为黄色背景,以防某个条件已满

DT::formatStyle(1, target = "row", backgroundColor = DT::styleEqual(trans_age(), c("yellow"))) %>%
但是,当我想使用web浏览器的“打印”功能打印表格时,颜色不会显示。 因此,我的想法是在特定的页面上添加一个类标签,并使用@media print通过costum css设置打印的颜色


问候您,Silke

使用
createdRow
选项:

library(DT)

dat <- iris[1:3,]

js <- JS(
  "function( row, data, dataIndex ) {",
  "  if(dataIndex === 2) {",
  "    $(row).addClass('myclass');",
  "  }",
  "}"
)

datatable(
  dat, 
  options = list(
    createdRow = js
  )
)
库(DT)

非常感谢。不幸的是,该类没有添加到行中。可能是因为已经或将要向行中添加另一个类。设置class=“odd”是为了交替行的颜色。是否有一种附加,或者确保在创建表后设置类?@Rlearner它对我有效。你用inspector工具检查过了吗?是的,它在你写的时候起作用了。非常感谢你。我试图将索引或数据[1]与R变量的值进行比较,但这对我来说并不适用。你能给我一个提示吗?此外,我无法根据“myclass”更改样式,但这可能是另一个问题。@Rlearner我不理解您的第一个问题。对于不变的样式,可能必须将类指定给单元格,而不是行。可能是通过执行
$(row,'td').addClass('myclass')
(不确定)。我尝试了类似于:“if(data[1]==”,trans_age(),“{”),而trans_age()是一个变量。或者,我也尝试了“if(dataIndex==”,idx_trans_age,”){,这样的事情可能吗?