正直なところ、Version
それはデータテーブルの標準のダミーデータにすぎないため、値自体について心配しているとは思わないので、css
クラス名の連結の一部としてそれを使用しないようにしました。値にはドットが含まれており、Version
それらは css を台無しにします。次に、それを念頭に置いて、あなたがやろうとしていることを私が理解していると仮定すると、jsbin に示されているように、タスクを実行する 1 つの方法を次に示します。
http://jsbin.com/onelev/2/edit
ここでの主なポイントは、fnRowCallbackを使用してテーブル セルに動的クラス名を生成することです。
カスタムセルの色をスタイリングするための CSS
.customCSS-Trident, table.dataTable tr.even td.customCSS-Trident.sorting_1, table.dataTable tr.odd td.customCSS-Trident.sorting_1 { background-color: blue; color: #fff; }
.customCSS-Fish, table.dataTable tr.even td.customCSS-Fish.sorting_1, table.dataTable tr.odd td.customCSS-Fish.sorting_1 { background-color: green; color: #fff; }
.customCSS-Pony, table.dataTable tr.even td.customCSS-Pony.sorting_1, table.dataTable tr.odd td.customCSS-Pony.sorting_1 { background-color: brown; color: yellow; }
.customCSS-Cabbage, table.dataTable tr.even td.customCSS-Cabbage.sorting_1, table.dataTable tr.odd td.customCSS-Cabbage.sorting_1 { background-color: pink; }
JavaScript
$(document).ready( function() {
var oTable = $('#example').dataTable( {
"aaData": aDataSet,
"aoColumnDefs": [
{ "aTargets": [ 0 ],
"sTitle": "#"
},
{ "aTargets": [ 1 ],
"sTitle": "Engine"
},
{ "aTargets": [ 2 ],
"sTitle": "Browser"
},
{ "aTargets": [ 3 ],
"sTitle": "Platform"
},
{ "aTargets": [ 4 ],
"sTitle": "Version"
},
{ "aTargets": [ 5 ],
"sTitle": "Grade",
"sClass": "center"
}
],
"fnRowCallback": function( nRow, aData, iDisplayIndex ) {
$('td:eq(4)', nRow).addClass("customCSS-" + aData[1]);
return nRow;
},
});
} );
HTML
<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
<thead>
<tr>
<th>#</th>
<th>Engine</th>
<th>Browser</th>
<th>Platform(s)</th>
<th>Engine version</th>
<th>CSS grade</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
Addendum
DataTables は、sorting_1
特定の 1 つの列を並べ替えるとクラスを動的に生成します。Shift キーを押したまま別の列ヘッダーをクリックする洗練されたユーザーがいる場合、datatables はsorting_2
などと呼ばれる別のクラスを生成します。ユーザーが複数の列で並べ替える可能性は非常に低い可能性がありますが、これらのケースはcss
、それらの余分なケースに追加のルールを追加することで処理できます。