Using Invert Table Function to invert table
object parameter to pass table object
- function invertTable(object)
- {
- var oldTable = object,
- invertedTable = [],
- newInvertTable, newInvertTr, k = 0,
- c = 0,
- d = 0,
- i = 0,
- j = 0;
- var oldTr = oldTable.querySelectorAll("tr");
- for (k = 0; k < oldTable.querySelectorAll("td").length; k++) invertedTable.push([]);
- for (c = 0; c < oldTr.length; c++)
- {
- for (d = 0; d < oldTr[c].childNodes.length; d++)
- {
- invertedTable[d][c] = (oldTr[c].childNodes[d])
- }
- }
- oldTable.innerHTML = ""
- newInvertTable = oldTable;
- var newthead = document.createElement('thead');
- var newtbody = document.createElement('tbody');
- for (i = 0; i < invertedTable.length; i++)
- {
- if (invertedTable[i] != undefined)
- {
- newInvertTr = document.createElement('tr');
- for (j = 0; j < invertedTable[i].length; j++)
- {
- if (invertedTable[i][j] != undefined)
- {
- if (invertedTable[i][j].tagName.toUpperCase() == "TH")
- {
- newInvertTr.appendChild(invertedTable[i][j]);
- newthead.appendChild(newInvertTr);
- }
- else
- {
- newInvertTr.appendChild(invertedTable[i][j]);
- newtbody.appendChild(newInvertTr);
- }
- }
- }
- newInvertTable.appendChild(newthead);
- newInvertTable.appendChild(newtbody);
- }
- }
- invertedTable.length = 0;
- }