jQuery DataTable:如何知道应用于每一列的宽度



我正在创建两个表,一个用于普通行(表1),另一个用于总行(s)(-table2)。我想拥有table1自动的宽度,并将相同的宽度应用于table2。我试图在表2中获取Table1的宽度,并应用相同的内容:

"fnDrawCallback": function (oSettings) {
  var i=0;
  jQuery('#table1 tbody tr:last td').each(function () {
    jQuery('#table2 tbody tr td:eq(' + i + ')').width(jQuery(this).width());
    i++;
  });
}

但有时,表1的宽度最后一行返回为0。因此,有什么方法可以查询Data Table1对象并获取应用宽度?

dataTableS设置<th>元素的宽度,而不是<tbody> <td>'s。如果您不在标题上添加直列CSS(基本上绝对不需要),最简单的简单是复制DataTables注入的style属性,其中包含计算出的宽度"width: 63px;"等:

drawCallback: function() {
   jQuery('#table1 thead th').each(function(i,th) {
      jQuery('#table2 thead th:eq('+i+')')
         .attr('style', jQuery(th).attr('style')) 
   })
}

演示 -> http://jsfiddle.net/51jlt8og/