javascript - 在 javascript 中从数组创建包含 3 列的表

标签 javascript jquery

我试图从数组的表的每一行中生成 3 列,我得到了结果,但是我无法每行生成 3 列。

谁能帮我解决这个问题吗?请。

var tTable = "<table border=\"0\">";

var newArray = ["2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15"];
var newTr = "<tr>";
for (var i = 0; i < newArray.length; i++) {

 if(i % 3 == 0 ) {
 newTr += "<td>" + newArray[i] + "</td></tr><tr>";
 } else{
 newTr += "<td>" + newArray[i] + "</td>";
 }

}
newTr+="</tr>";
tTable += newTr;
document.write(tTable);

当前结果是

2
3   4   5
6   7   8
9   10  11
12  13  14
15

但是,预期的结果是

2   3   4
5   6   7
8   9   10
11  12  13
14  15

请帮忙解决这个问题?

最佳答案

尝试这样的事情:

var tTable = "<table border=\"0\">";

var newArray = ["2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15"];
var newTr = "";
for (var i = 0; i < newArray.length; i++) {

  if(i % 3 == 0)
    newTr += (i > 0) ? "</tr><tr>" : "<tr>"


 newTr += "<td>" + newArray[i] + "</td>";

}
newTr+="</tr>";
tTable += newTr;
document.write(tTable);

当你从元素 i = 0 开始时,你需要小心,因为 0/3 = 0。 在我的示例代码中,我像您一样检查我们是否位于该行的 3° 元素,但当 i = 0 时我设置了一个“特殊”条件。 因此,在第一个元素中,我们仅创建行 (),对于接下来的第三个元素,我们关闭前一行并创建一个新行。

关于javascript - 在 javascript 中从数组创建包含 3 列的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31617927/

相关文章:

javascript - 检测 JS Fade 何时完成,并运行更多代码

javascript - RegExp 用于匹配字符串开头的协议(protocol)相对 URL

javascript - 使用 jQuery 禁用/启用输入?

javascript - 不确定如何设计使用 XML 创建 HTML 对象的 JavaScript/jQuery 功能

javascript - 如何在 HTML 中制作 anchor 标记下拉列表

jQuery:单击所有复选框时如何启用按钮? - 第2部分

javascript - 隐藏 html 页面中的某些字段以用于打印布局中的页眉/页脚

javascript - 在 mac 上找不到 Angular protractor/cli.js 文件被告知检查我如何安装 Protractor

javascript - 除了在输入字段中之外,是否基于 keyCode 运行 keyup function()?

javascript - 是否有一种工具可以将浏览器端 javascript 生成的所有 DOM 网页元素捕获为 html,以获得整页 html 存档?