atanov,
сортирует числа и строки, достаточно указать индекс ячейки и направление сортировки (в примере первая колонка, возрастание)
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
</head>
<body>
<table width="400" id="alltable" >
<thead>
<tr>
<th>Title 1</th>
<th>Title 2</th>
<th>Title 3</th>
</tr>
</thead>
<tbody>
<tr>
<td>100</td>
<td>B</td>
<td>B</td>
</tr>
<tr>
<td>300</td>
<td>C</td>
<td>C</td>
</tr>
<tr>
<td>50</td>
<td>A</td>
<td>A</td>
</tr>
</tbody>
</table>
<script>
function sorttable(table, index, up) {
var tbody = table.querySelector("tbody");
var rowsArray = [].slice.call(tbody.rows);
var compare = function compareNumeric(a, b) {
a = a.cells[index].textContent.trim();
b = b.cells[index].textContent.trim();
if(a == +a) return up ? a - b : b - a;
if (a > b) {
return up ? 1 : -1;
}
if (a < b) {
return up ? -1 : 1;
}
};
var temp = document.createDocumentFragment();
rowsArray.sort(compare).forEach(function(a) {
temp.appendChild(a);
});
tbody.appendChild(temp);
}
;
var table = document.querySelector("#alltable");
sorttable (table, 0,true)
</script>
</body>
</html>