我试图使用以下代码将从http请求获得的2-D数组打印到变量值
null
<table style="width:100%">
<tr>
<th>Name</th>
<th>Age</th>
<th>School</th>
</tr>
<script>
var x ="", i;
var y ="", j;
for (i=0; i<value.length; i++) {
x ="<tr>" +
for (j=0; j<3; j++){
y = "<td>" + {{ value[i][j] }} + "</td>";
}
+ "</tr>";
}
</script>
</table>
null
知道为什么不起作用吗? :p
标记不以任何方式显示,则需要使用JavaScript方法进行DOM操作
null
const values = [
["name1", "age1", "school1"],
["name2", "age2", "school2"],
];
const tbody = document.querySelector("tbody");
for (let i = 0; i < values.length; i++) {
const tr = document.createElement("tr");
const fields = values[i];
for (let j = 0; j < fields.length; j++) {
const field = fields[j];
const td = document.createElement("td");
td.textContent = field;
tr.appendChild(td);
}
tbody.appendChild(tr);
}
<table style="width: 100%;">
<thead>
<tr>
<th>Name</th>
<th>Age</th>
<th>School</th>
</tr>
</thead>
<tbody></tbody>
</table>
您正在尝试将字符串与for循环连接起来。 你不能那么做。 另外,在for循环中声明i和j变量,以便在循环完成时自动删除它们。 您不需要y变量,因为您可以创建一个长字符串作为x,然后在某处使用它作为innerHTML。 最后,错误地使用了值数组。 {}用于创建对象。 例如var b={}; 当您想要实际使用该对象时,您通过它的名称来引用它,但是您说您已经有了一个数组。
<script>
var x ="";
for (var i=0; i<value.length; i++) {
x +="<tr>";
for (var j=0; j<value[i].length; j++){
x += "<td>" + value[i][j] + "</td>";
}
x += "</tr>";
}
//use your output x variable here
</script>