【发布时间】:2013-03-05 03:20:24
【问题描述】:
我有一个问题,我有一个从 ajax 回调返回的字符串数组(即图像 url),我需要将图像渲染到 html 表中。问题是我当然不知道列表的长度,但我需要始终呈现一个包含 6 列的表。建立表格更好吗(然后填写单元格或即时建立表格(循环遍历下面每个.each 语句中的列数)。第二个看起来更动态但不是很优雅。
var tableHTML = [];
tableHTML.push("<table>");
$.each(data.ImageURLs, function(index, imageURL) {
// create table content
if (index % 1 == 0) {
tableHTML.push("<tr>");
}
tableHTML.push("<td>" + imageURL + "</td>");
if (index % 6 == 0) {
tableHTML.push("</tr");
}
});
tableHTML.push("</table>");
$("#myTable").html(tableHTML.join(""));
【问题讨论】:
-
您所做的是一种快速的方法。只更新一次 DOM
-
您不需要将
保存在数组中,稍后再加入。
PS 如果图像宽度相同,响应式方法是使用 CSS3 并将其分成 6 列。 @Ings:重要的是字符串连接还是数组推送?@mplungian 它们大小相同。 .我需要支持 IE7 浏览器,所以我认为我不能真正依赖 CSS3可以使用垫片。我很乐意在所有浏览器上使用它,但无法在 IE7 中测试它
标签: javascript jquery html-table