只是想知道是否有人可以帮助我。
我创建了一个表,并使用Javascript我提取所有数据并将其放入div中。
$(function () {
$('table').each(function () {
var output = "",
table = $(this),
rowHead = table.find('tbody tr th'),
rowSubject = table.find('thead tr th:not(:first-child)'),
rowContent = table.find('tbody tr td'),
copy = table.clone();
output += '<div class="mobiled-table">';
for (i = 0; i < rowHead.length; i++) {
output += '<div class="head">' + $(rowHead[i]).html() + '</div>';
for (j = 0; j < rowSubject.length; j++) {
output += '<div class="subject">' + $(rowSubject[j]).html() + '</div>';
output += '<div class="content">' + $(rowContent[i]).html() + '</div>';
}
}
output += '</div>';
$('table').append(output);
});
});
除了.content类无法正常工作外,一切正常。我相信我使用错误的'for循环'或者我需要创建另一个'for循环'。请看看我的codepen,你会看到我的问题
http://codepen.io/anon/pen/JrKBf
我希望有人可以提供帮助。
答案 0 :(得分:0)
因为rowContent
包含单元格矩阵但是作为一维数组,您必须将(i,j)转换为rowContent
的有效索引(i * 4) + j
:
rowContent[i]
应替换为:
rowContent[(i*4) + j]
答案 1 :(得分:0)
以更简单的方式,您可以这样做,
var container=$("#container");
$("table tr:not(:first)").each(function() {
var heading = $(this).find("th").html();
container.append('<div class="subject">' + heading + '</div>');
$(this).find("td").each(function(i) {
container.append('<div class="subject">' + $("table th").eq($(this).index()).html() + '</div>');
container.append('<div class="content">' + $(this).html() + '</div>');
});
});