Fortun,
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css">
</style>
<script>
function chg() {
var thumb = document.querySelectorAll(".thumb-block");
thumb = [].slice.call(thumb, 0);
var parent = thumb.map(function(el) {
return el.parentNode
});
thumb.sort(function(a, b) {
return b.querySelector(".count").textContent - a.querySelector(".count").textContent
}).forEach(function(el, i) {
parent[i].appendChild(el)
})
};
</script>
</head>
<body>
<table>
<tr>
<td>
<section class="thumb-block">
<div>Block <sup class="count">7</sup></div>
<p>кучка какого то текста</p>
</section>
</td>
</tr>
<tr>
<td>
<section class="thumb-block">
<div>Block <sup class="count">3</sup> </div>
<p>вторая кучка какого то текста</p>
</section>
</td>
</tr>
<tr>
<td>
<section class="thumb-block">
<div>Block <sup class="count">9</sup> </div>
<p>третья кучка какого то текста</p>
</section>
</td>
</tr>
</table>
<button onclick="chg()">Click</button>
</body>
</html>