首页 > 解决方案 > 循环通过代码创建``标签但得到``

问题描述

这是我的代码片段,对于我遍历这个数组并希望创建<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>
 

标签: javascripthtmljqueryhtml-tableinnerhtml

解决方案


您不能将 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>'); 
      }
    }
  }
}


推荐阅读