Сортировка table tr на "чистом" JavaScript
Вариант для СКР
by Denis Tverdokhlebov
HTML
<table>
<table id="block1">
<tr class="test1">
<td><b>Пётр</b></td>
</tr>
<tr class="negative1">
<td><b>Вася</b></td>
</tr>
<tr class="pozitive1">
<td><b>Аня</b></td>
</tr>
<tr class="pozitive1">
<td><b>Вова</b></td>
</tr>
<tr class="negative1">
<td><b>Боря</b></td>
</tr>
</table>
<div id="demo">
<table id="block">
<tr class="test">
<td><b>Пётр</b></td>
</tr>
<tr class="negative">
<td><b>Вася</b></td>
</tr>
<tr class="pozitive">
<td><b>Аня</b></td>
</tr>
<tr class="pozitive">
<td><b>Вова</b></td>
</tr>
<tr class="negative">
<td><b>Боря</b></td>
</tr>
</table>
</div>
</table>
CSS
.pozitive{
background-color: #008000;
}
.negative{
background-color: #FF0000;
}
.test{
background-color: #D2691E;
}
a{
color: #FFFF00;
}
JavaScript
var c = document.querySelector("#block");
Array.apply(null,document.querySelectorAll("#demo tr"))
.sort(function(a, b) {
a = a.classList;
a = a.contains('pozitive') ? -1 : a.contains('negative') ? 0 : 1;
b = b.classList;
b = b.contains('pozitive') ? -1 : b.contains('negative') ? 0 : 1;
return a < b ? -1 : a > b ? 1 : 0
})
.forEach(function(a) {
c.appendChild(a)
});