【发布时间】:2017-08-03 21:57:47
【问题描述】:
请有人帮我重构下面的方法。该方法是从一个数组生成一个 html 表。
function drawHtmlTable(filters) {
var $table = $("<table style='border: 1px solid black; empty-cells: show;'></table>");
var $line = $("<tr style='border: 1px solid black;'></tr>");
var $line1 = $("<tr style='border: 1px solid black;'></tr>");
var $line2 = $("<tr style='border: 1px solid black;'></tr>");
for (var i = 0; i < 6; i++) {
var filter = filters[i];
$line.append($("<td style='border: 1px solid black;'></td>").html(filter.Label));
$line.append($("<td style='border: 1px solid black;'></td>").html(filter.Value));
$table.append($line);
}
for (var j = 6; j < 12; j++) {
var filter1 = filters[j];
$line1.append($("<td style='border: 1px solid black;'></td>").html(filter1.Label));
$line1.append($("<td style='border: 1px solid black;'></td>").html(filter1.Value));
$table.append($line1);
}
for (var k = 12; k < 18; k++) {
var filter2 = filters[k];
$line2.append($("<td style='border: 1px solid black;'></td>").html(filter2.Label));
$line2.append($("<td style='border: 1px solid black;'></td>").html(filter2.Value));
$table.append($line2);
}
$table.appendTo($("#filterContainer"));
}
我想让上面的方法通用,这样就不用手动编写 foreach 循环,用户只需输入一个过滤器列表,表格就会生成 6 列和所需的任何行。
【问题讨论】:
标签: javascript html arrays html-table