将多个自定义属性添加到datatables行

时间:2015-08-07 18:53:15

标签: javascript jquery datatables

我在DataTables 1.10中创建了一个表:

var table = $('#table').DataTable( {    
      "data" : dataSet,                      
      "bInfo": false,
      "bFilter" : false,
      paging: false,
      "createdRow" : function (row,data,index) {      
      $('td',row).eq(0).attr('id', 'cost-' + index);
      $('td',row).eq(1).attr('id', 'resale-' + index);

      deleteImage = $('<img />').attr('src', '../../img/details_close.png');           
      $('td',row).eq(0).append(deleteImage);      
      $('td',row).eq(0).addClass( 'icons' );

    },
      "columns" : [        
        { title : 'Cost' },
        { title : 'Resale' },        
    ],
    "columnDefs": [
    { className: "details-control", "targets": [ 0 ] }
    ]

  });

这很好用。我正在尝试使用以下代码将图像添加到第一个<td>

      deleteImage = $('<img />').attr('src', '../../img/details_close.png');           
      $('td',row).eq(0).append(deleteImage);      
      $('td',row).eq(0).addClass( 'icons' );

这也很好。它会添加图像,并为特定的<td>添加一个类。

我的问题是我还要为此图片添加id,以便我可以使用Javascript调用click event,但到目前为止我的所有尝试都没有用,包括:

deleteImage = $('<img />').attr('src', '../../img/details_close.png', 'id','deleteLine');        

deleteImage = $('<img />').attr('src', '../../img/details_close.png');       
      deleteID = $('<img />').attr('id', 'deleteLine');
      $('td',row).eq(0).append(deleteImage);      
      $('td',row).eq(0).append(deleteID);   

(第二个确实将<img id="deleteLine">添加到我的页面,但它与使用$('td',row).eq(0).append(deleteImage);插入的图像分开,所以这对我没有帮助。)

我无法弄清楚确保其工作的确切语法.....

1 个答案:

答案 0 :(得分:0)

以下是其他人遇到相同问题的方法:

deleteImage = $('<img />').attr({ src:'../../img/details_close.png',id:'deleteLine'}); 

只需在{}中包含您尝试添加的各种元素,并用逗号分隔。