【发布时间】:2017-10-17 02:47:49
【问题描述】:
我需要转置一个 HTML 表格(交换行和列)。我发现了许多 jQuery 插件,但它们比我需要的要多。
我从 this stack 改编了一些简洁的 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;
}
我创建了下面的小提琴,它提供了标记和代码的示例。有人可以更新函数以支持 thead 和 tfoot 元素吗?
http://jsfiddle.net/4tobvo05/4/
就像现有代码一样,新代码必须维护每个 td 以及表格本身的类和样式值,以便正确应用 CSS。它还需要修复 tfoot,使其包含正确数量的 td 单元,这些单元包含一个不间断的空间。
【问题讨论】:
-
这似乎主要工作。您需要更改的关键是告诉您的
td选择器也寻找th。$(this).find("td, th").each(function () { ... }
标签: jquery html-table transpose