javascript - 循环通过代码创建``标签但得到``
问题描述
这是我的代码片段,对于我遍历这个数组并希望创建<th>
尽可能多的循环继续的每一行。因此,例如,如果循环继续 3 次,<th>
则应使用计划名称创建 3 次。但问题不是<th>
我有 3 <td>
。请告诉我哪里出错了?
for (j = 0; j < bid[j].length; j++) {
for (k = 0; k < plan["data"].length; k++) {
if (plan["data"][k]) {
if (bid[j] == plan["data"][k]) {
first_row = '<th><b>' + plan["data"][k]["[Plan name]"] + '</b></th>';
var table = document.getElementById("data");
var cell1 = row.insertCell(1);
cell1.innerHTML = first_row;
//$("#data").append(first_row);
}
}
}
}
我想要这样的东西
<tr>
<th>Header 1</th>
<th>Header 2</th>
<th>Header 3</th>
</tr>
解决方案
您不能将 a<th>
放在表格单元格内。一个单元格是 a<td>
或<th>
。但insertCell
总是创造<td>
细胞。放入<th>
它不会改变它的类型。
使用 jQuery 添加<th>
到表格的第一行。
for (j = 0; j < bid[j].length; j++) {
for (k = 0; k < plan["data"].length; k++) {
if (plan["data"][k]) {
if (bid[j] == plan["data"][k]) {
$("#data tr:first").append('<th><b>' + plan["data"][k]["[Plan name]"] + '</b></th>');
}
}
}
}