如何在 DataTables 中为 <tr> 添加类?

Asl*_*lam 4 jquery datatables

我试图从数据表中的每一行中获取价值<tr class="bill-row">。那么如何在数据表中进行设置class="bill-row"?所以我可以调用 ech row

var row = $(".bill-row");

            row.each(function(i) {
                data.bill_number.push($("[name='bill_number[]']", this).val());
                data.service_charge.push($("[name='service_charge[]']", this).inputmask('unmaskedvalue'));
                // data.water_usage.push($("[name='water_usage[]']", this).inputmask('unmaskedvalue'));
                data.meteran_akhir_air.push($("[name='meteran_akhir_air[]']", this).inputmask('unmaskedvalue'));
                data.meteran_akhir.push($("[name='meteran_akhir[]']", this).inputmask('unmaskedvalue'));
Run Code Online (Sandbox Code Playgroud)

像这样将类设置为数据表

<tr class="bill-row" role="row">
  <td></td>
</tr>
Run Code Online (Sandbox Code Playgroud)

默认数据表

<tr role="row">
  <td></td>
</tr>
Run Code Online (Sandbox Code Playgroud)

这是我要为其设置类<tr>但不起作用的数据表

    createdRow: function( row, data, dataIndex ) {
        $(row).addClass('bill-row');
    },
Run Code Online (Sandbox Code Playgroud)

Gyr*_*com 9

使用createdRowoption 是正确的方法。

例如:

$('#example').DataTable({
  'createdRow': function( row, data, dataIndex ) {
      $(row).addClass( 'bill-row' );
  }
});
Run Code Online (Sandbox Code Playgroud)

但是,您正在错误地检索行。使用$(".bill-row")将仅返回当前页面上的行。

作为替代,请改用$()API 方法。

例如:

var row = $('#example').DataTable().$('.bill-row');
Run Code Online (Sandbox Code Playgroud)