Для сортировки таблицы по размеру файла я использую этот код:
// table sort
$(document).on('click','th',function() {
var table = $(this).parents('table').eq(0)
var rows = table.find('tr:gt(0)').toArray().sort(comparer($(this).index()))
this.asc = !this.asc
if (!this.asc){rows = rows.reverse()}
for (var i = 0; i < rows.length; i++){table.append(rows[i])}
})
function comparer(index) {
return function(a, b) {
var valA = getCellValue(a, index), valB = getCellValue(b, index)
return $.isNumeric(valA) && $.isNumeric(valB) ? valA - valB : valA.toString().localeCompare(valB)
}
}
function getCellValue(row, index){ return $(row).children('td').eq(index).text() }
Строка с td
выглядит следующим образом:
<!-- SIZE-->
<td class="td-size table-data">
<!-- raw size for sorting only-->
<span class="sort-only hide">
<?php echo filesize($dir . '/' . $file); ?>
</span>
<?php
echo sizeFormat(recursive_directory_size($dir . '/' . $file);
?>
</td>
Значение между элементом span
является необработанным значением (которое я хочу использовать для сортировки).
Как я могу вызвать элемент span
внутри tr
в javascript?
Потому что теперь он сортирует только значение внутри td
. И это должно быть только span
внутри td