将多个自定义属性添加到数据表行

add multiple custom attributes to datatables row

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

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' );

这也很好用。它添加图像,并将 class 添加到特定的 <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); 插入的图像是分开的,所以这对我没有帮助。)

我只是想不出使它起作用的确切语法.....

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

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

只需将您要添加的各种元素包裹在 { } 中,每个元素用逗号分隔。