Вы хотите превратить HTML в такой порядок:
<tr><td>A</td><td>B</td><td>C</td><td>D</td></tr>
<tr><td>1</td><td>2</td><td>3</td><td>4</td></tr>
В это:
<tr><td>A</td><td>1</td></tr>
<tr><td>B</td><td>2</td></tr>
<tr><td>C</td><td>3</td></tr>
<tr><td>D</td><td>4</td></tr>
Правильно?
Вы можете сделать это с помощью Javascript, однако сложно предложить метод, не зная больше о структуре вашего сайта / HTML-файлов. Я попробую.
Предполагая, что ваш тег <table>
имеет идентификатор (например: <table id="myTable">
, вы можете получить к нему доступ в javascript, например:
var myTable = document.getElementById('myTable');
Вы можете создать новую таблицу следующим образом:
var newTable = document.createElement('table');
Теперь вам нужно переместить строки старых таблиц в столбцы новых таблиц:
var maxColumns = 0;
// Find the max number of columns
for(var r = 0; r < myTable.rows.length; r++) {
if(myTable.rows[r].cells.length > maxColumns) {
maxColumns = myTable.rows[r].cells.length;
}
}
for(var c = 0; c < maxColumns; c++) {
newTable.insertRow(c);
for(var r = 0; r < myTable.rows.length; r++) {
if(myTable.rows[r].length <= c) {
newTable.rows[c].insertCell(r);
newTable.rows[c].cells[r] = '-';
}
else {
newTable.rows[c].insertCell(r);
newTable.rows[c].cells[r] = myTable.rows[r].cells[c].innerHTML;
}
}
}
Это должно делать то, что вам нужно. Будьте предупреждены: не проверено. Работа с этим кодом javascript на HTML-странице оставлена читателю в качестве упражнения. Если кто-то обнаружит какие-либо ошибки, которые я пропустил, буду рад, если вы укажете мне их или просто исправите, чтобы исправить:)