我试图从数组的表的每一行中生成 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/