записки на память об администрировании, web — программировании и прочих смежных темах

Транспонируем (поворачиваем) таблицу HTML

  • »
  • »
  • Транспонируем (поворачиваем) таблицу HTML
Транспонируем (поворачиваем) таблицу HTML

Нужно было транспонировать (повернуть) таблицу HTML, сделать столбцы строками. В сниппете формирующем эту таблицу такое реализовать было бы проблематично, поэтому поворачивать решил через JS. Готового решения не нашел, поэтому написал примерно такое:

<script>
jQuery(document).ready(function() {
table = '#id'; // id-шник таблицы
cols = jQuery(table + ' tr').length;
rows = jQuery(table + ' td').length / cols;
arr = [];
for (i = 0; i<rows; i++) {
arr[i] = [];
}
jQuery(table + ' td').each(function() {
i = jQuery(this).parents().index();
j = jQuery(this).index();
arr[j][i] = jQuery(this).html();
});
tmp = '';
for (i=0;i<rows;i++) {
tmp += '<tr>';
for (j=0;j<cols;j++) {
tmp += '<td>' + arr[i][j] + '</td>';
}
tmp += '</tr>';
}

jQuery(table).html(tmp);
});
</script>