我需要转置 HTML 表格(交换行和列)。我发现了很多 jQuery 插件,但它们超出了我的需要。
我从这个堆栈中改编了一些简洁的 jQuery 代码,但它不适用于包含 thead 和 tfoot 元素的表。
function tableTransform(objTable) {
objTable.each(function () {
var $this = $(this);
var newrows = [];
$this.find("tr").each(function () {
var i = 0;
$(this).find("td").each(function () {
i++;
if (newrows[i] === undefined) {
newrows[i] = $("<tr></tr>");
}
newrows[i].append($(this));
});
});
$this.find("tr").remove();
$.each(newrows, function () {
$this.append(this);
});
});
return false;
}
Run Code Online (Sandbox Code Playgroud)
我创建了下面的小提琴,它提供了标记和代码的示例。有人可以更新该函数以支持 thead 和 tfoot 元素吗?
http://jsfiddle.net/4tobvo05/4/
就像现有代码一样,新代码必须维护每个 td 上的类和样式值以及表本身,以便正确应用 CSS。它还需要修复 tfoot,以便它包含正确数量的 td 单元格,以包裹不间断的空格。