JSFiddle - React, Tailwind, and code Playground
HTML
<script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
<script src="//cdn.datatables.net/1.10.4/js/jquery.dataTables.min.js"></script>
<link rel="stylesheet" href="//cdn.datatables.net/1.10.4/css/jquery.dataTables.min.css">
<body>
<div>
<table id="example" class="display" cellspacing="0" width="100%">
<thead>
<tr>
<th>Name</th>
<th>Age</th>
<th>Salary</th>
</tr>
</thead>
<tbody>
<tr>
<td>Tiger Nixon</td>
<td>40</td>
<td data-age="40">$320</td>
</tr>
<tr>
<td>Garrett Winters</td>
<td>40</td>
<td data-age="40">$170</td>
</tr>
<tr>
<td>Ashton Cox</td>
<td>40</td>
<td data-age="40">$86</td>
</tr>
<tr>
<td>Cedric Kelly</td>
<td>22</td>
<td data-age="22">$433</td>
</tr>
<tr>
<td>Airi Satou</td>
<td>33</td>
<td data-age="33">$162</td>
</tr>
</tbody>
</table>
</div>
</body>
JavaScript
function pad(n, width, z) {
z = z || '0';
n = n + '';
return n.length >= width ? n : new Array(width - n.length + 1).join(z) + n;
}
$(document).ready(function() {
$.fn.dataTable.ext.order['custom-order'] = function ( settings, col )
{
return this.api().column( col, {order:'index'} ).nodes().map( function ( td, i ) {
var value = parseInt($(td).attr('data-age') + pad(
td.innerHTML.substring(1), 10, '0'));
return value;
} );
}
$('#example').DataTable({
filter:false,
"columns": [
null,
null,
{ "orderDataType": "custom-order",
"sType": "numeric"}
]
});
});