JSFiddle - React, Tailwind, and code Playground
HTML
<button id="button">sort</button>
<table id="caltbl">
<thead>
<tr>
<th>
</th>
<th>
Date
</th>
<th>
hours
</th>
<th>
Module
</th>
<th>
..
</th>
</tr>
</thead>
<tbody>
<tr><td class="sortnr">759</td></tr>
<tr>
<td class="sortnr">1</td>
<td></td>
</tr>
<tr>
<td class="sortnr">3</td>
<td></td>
</tr>
<tr>
<td class="sortnr">2</td>
<td></td>
</tr>
<tr><td class="sortnr">759</td></tr>
<tr>
<td class="sortnr">1</td>
<td></td>
</tr>
<tr>
<td class="sortnr">3</td>
<td></td>
</tr>
<tr>
<td class="sortnr">2</td>
<td></td>
</tr>
<tr><td class="sortnr">759</td></tr>
<tr>
<td class="sortnr">1</td>
<td></td>
</tr>
<tr>
<td class="sortnr">3</td>
<td></td>
</tr>
<tr>
<td class="sortnr">2</td>
<td></td>
</tr>
<tr><td class="sortnr">759</td></tr>
<tr>
<td class="sortnr">1</td>
<td></td>
</tr>
<tr>
<td class="sortnr">3</td>
<td></td>
</tr>
<tr>
<td class="sortnr">2</td>
<td></td>
</tr>
<tr><td class="sortnr">759</td></tr>
<tr>
<td class="sortnr">1</td>
<td></td>
</tr>
<tr>
<td class="sortnr">3</td>
<td></td>
</tr>
<tr>
<td class="sortnr">2</td>
<td></td>
</tr>
<tr><td class="sortnr">759</td></tr>
<tr>
<td class="sortnr">1</td>
<td></td>
</tr>
<tr>
<td class="sortnr">3</td>
<td></td>
</tr>
<tr>
<td class="sortnr">2</td>
<td></td>
</tr>
<tr><td class="sortnr">759</td></tr>
<tr>
<td class="sortnr">1</td>
<td></td>
</tr>
<tr>
<td class="sortnr">3</td>
<td></td>
</tr>
...
CSS
table, th, td {
border: 1px solid black;
}
JavaScript
function sortTable(){
var tbl = document.getElementById("caltbl").tBodies[0];
var store = [];
for(var i=0, len=tbl.rows.length; i<len; i++){
var row = tbl.rows[i];
var sortnr = parseFloat(row.cells[0].textContent || row.cells[0].innerText);
if(!isNaN(sortnr)) store.push([sortnr, row]);
}
store.sort(function(x,y){
return x[0] - y[0];
});
for(var i=0, len=store.length; i<len; i++){
tbl.appendChild(store[i][1]);
}
store = null;
}
var theButton = document.getElementById("button");
theButton.onclick=sortTable;