javascript - 为什么这张表没有正确排序?

标签 javascript html css

不知道为什么表格没有正确地按行和列排序。 我正在尝试创建一个二维数组,然后使用嵌套的 for 循环自动创建一个表。

list = [
  [12, 4, 22],
  [11, 32, 7],
  [9, 16, 13]
];
for (var i = 0; i < list.length; i++) {
  tablebody.innerHTML += "<tr>";
  for (var j = 0; j < list[i].length; j++) {
    tablebody.innerHTML += "<td>" + list[i][j] + "</td>";
  }
  tablebody.innerHTML += "</tr>"
}
body {
  background-color: black;
  color: white;
}
<table id="table">
  <thead id="tablehead">
    <tr>List[0]</tr>
    <tr>List[1]</tr>
    <tr>List[2]</tr>
  </thead>
  <tbody id="tablebody">
  </tbody>
</table>

最佳答案

您不能向 innerHTML 添加片段 .当你做 tablebody.innerHTML+="<tr>"; , 浏览器自动添加一个结束 </tr>紧接着。

您需要将字符串构建到它自己的变量中,然后执行 tablebody.innerHTML = yourTableVar;之后。

var tableData = '';

for (var i = 0; i < list.length; i++) {
  tableData += "<tr>";
  for (var j = 0; j < list[i].length; j++) {
    tableData += "<td>" + list[i][j] + "</td>";
  }
  tableData += "</tr>"
}

tablebody.innerHTML = tableData;

此外,您的 <thead> 的 HTML是不正确的。你需要有一个 <tr>作为标题行和 <th>带有列标题的标签:

<thead id="tablehead">
    <tr>
        <th>List[0]</th>
        <th>List[1]</th>
        <th>List[2]</th>
    </tr>
</thead>

关于javascript - 为什么这张表没有正确排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64897449/

相关文章:

javascript - 假零应该通过

javascript - 自动调整字体大小以适应容器

javascript - 为什么 HTML 表单无法加载到 Javascript 创建的 iframe 中?

jQuery/Css 对居中按钮使用 z-index 和相对位置?

html - 使用滚动溢出文本但从中溢出 html 元素

html - Openmeetings GUI 更改

javascript - PHP - 为什么我从编码的对象数组中得到奇怪的结果?

javascript - .map() 在这种情况下在做什么?

html - 在下拉菜单选项中用分隔符分隔一系列链接

javascript - 使用 jQuery 在 div 中动态输入文本