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;
}