最後に、それはテーブルであることを忘れないでください。テーブルの構造を変更するのは難しく、ヘッダーの幅はヘッダーに含まれる本文の幅に従います。
並べ替えに余分な情報を使用していると思いますか? 必要な構造と css を使用してコンテナーを作成し、API を使用してデータテーブルを操作してみませんか?
API を使用して並べ替えることができます。
$(document).ready(function() {
var oTable = $('#example').dataTable();
// Sort immediately with columns 0 and 1
oTable.fnSort( [ [0,'asc'], [1,'asc'] ] );
} );
たとえば、表のヘッダー自体ではなく、ユーザーがクリックできる表の上にボタンを配置したい場合は、次のようにします。
<div id="separateStyledContainer">
<button id="sortByColumn2">Sort by Column 2</button>
</div>
<table id="datatable">
<thead>
<th>Column 1</th>
<th>Column 2</th>
</thead>
<tbody>
<tr>
<td>Column 1 Value 1</td>
<td>Column 2 Value 1</td>
</tr>
<tr>
<td>Column 1 Value 2</td>
<td>Column 2 Value 2</td>
</tr>
</tbody>
</table>
そして、ここにJSがあります:
$(function() {
var table = $("#datatable").dataTable();
$("#sortByColumn2").on("click", function() {
table.fnSort([[1,'asc']]);
});
})
ここにチェックアウトするための動作するjsFiddleがあります
この方法では、テーブルと戦っていません。datatable が利用可能にするすべての API はこちら