从DataTable中每行的第一个td中删除类

时间:2017-04-05 03:12:47

标签: jquery datatable datatables-1.10

我有一个带有详细信息行的数据表,类似于示例here。我想要做的是删除显示没有子数据的行的+ / i图标的类。应该很容易,但对于我的生活,我无法正确地从每行的第一个td中删除该类。

我的桌子。第一列只是一个图标,由类&d; dh-dtbl-details-control'添加。它被添加到每一行。

var oTable = $('#dh_phleb_tblComp').DataTable({
    data: oColls.accs,
    orderClasses: false,
    "stripeClasses":['stripe1','stripe2'],
    columns:[
      {
          "class":"dh-dtbl-details-control",
          "orderable": false,
          "data": null,
          "defaultContent": ""
      },
      {data: 'collection_priority_disp'},
      {data: 'encntr_location'}
    ]
});

创建表格后,我会遍历各行,检查子数据。这很好用。我遇到问题的是识别有关类的td,以便我可以删除它。任何帮助将不胜感激。

oTable.rows().data().each(function(value, index, id) {
    var row = oTable.row(index);
    var node = oTable.row(index).node();

    if (value.container_cnt === 0){
        alert("no containers");
        var td = $(row).find("td:first");  //doesn't seem to be right
        alert(td.className); //returning 'undefined'
        //$('td', row).removeClass("dh-dtbl-details-control"); //what I want to do
}

2 个答案:

答案 0 :(得分:0)

最终是$(node).find(" .dh-dtbl-details_control")。removeClass(" dh-dtb l-details-control")。

请参阅评论,了解指向正确的方向

答案 1 :(得分:0)

你接近它,事实上你给了我一个关于我的项目的想法

 var oTable = $('#dh_phleb_tblComp').DataTable({
 data: oColls.accs,
 orderClasses: false,
 "stripeClasses": ['stripe1', 'stripe2'],
 columns: [
     {
         "class": "dh-dtbl-details-control",
         "orderable": false,
         "data": null,
         "defaultContent": ""
     },
     {data: 'collection_priority_disp'},
     {data: 'encntr_location'}
 ],
// here you iterate each created  row and  ask for the first td and then you remove
// or add , or whatever you want to assign to this fist TD
 "createdRow": function (row, data) {
     $(row).find("td:first").removeClass('dh-dtbl-details-control');
   }
 });