データが含まれていないすべての列の並べ替えを無効にする必要があります。DataTable または jQuery を使用して実行しようとしています。複数のテーブルがある場合、それらすべてを反復処理して、各列に対して true または false を返すことができるはずです。結果を取得して列の並べ替えを無効にできるようにします。コードは不完全ですが、これは私がこれまでに持っているものです。
function detectEmptyColumn(index) {
var sStatus = [], status ='';
var colors = ['red','green','blue','yellow','purple','black','cyan','green'];
$('.data-table').eq(index).find('tbody').each(function(i) {
var self = this;
$(self).find('tr td').each(function(j) {
if (j > 0) {
$(self).find('tr').each(function(k) {
var $tableCell = $(this).find('td:visible').eq(j);
$tableCell.css('border','2px solid '+colors[j]);
var $innerWrapper = $('.inner-wrapper', $tableCell);
status = ('a', $innerWrapper).size() > 0;
sStatus[k] = status;
if (status) return false;
});
}
});
});
return status;
}
function disableEmptyColumnSorting() {
$('.data-table').each(function(index) {
var status = detectEmptyColumn(index);
});
}
そして、これは Datatable td がどのように見えるかです:
<td class="reading-level interpTRC_no_interp
firstCol
"><div class="inner-wrapper" style="position: relative;">
<span title="-5" class="sortindex"></span>
<a href="/test/test123">
<PC
<sup>F</sup>
</a>
</div></td>