You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript循环渲染数据到HTML表格时数据显示在表外如何解决

问题原因

你的表格结构不符合HTML语法规范,这是数据显示在表格外的核心原因:

  • <tbody>标签的直接子元素只能是<tr>(表格行)元素,你在<tbody>内部放置<div id="demo"></div>属于非法嵌套,浏览器解析HTML时会自动把这个不符合位置规则的div移到<table>节点外部,后续你往这个div里插入的行内容自然就跟着跑到表格外面了。
  • 原代码还有两处不规范问题:一是<thead>里的<th>(表头单元格)没有用<tr>标签包裹,二是JS中循环外提前声明了变量i,循环内又重复声明同名变量,属于冗余代码,虽然不直接触发本次渲染异常,但建议一并修正。
修复方案

移除<tbody>内部非法嵌套的div,把渲染容器的id直接绑定到<tbody>标签上,同时修正其他不规范的结构和代码即可。

修正后的HTML代码

<table style="border: 1px solid">
  <thead>
    <tr>
      <th>Name</th>
    </tr>
  </thead>
  <tbody id="demo"></tbody>
</table>

修正后的JavaScript代码

const cars = ["BMW", "Volvo", "Saab", "Ford"];
let text = "";

for (let i = 0; i < cars.length; i++) {
  text += "<tr><td>" + cars[i] + "</td></tr>";
}
document.getElementById("demo").innerHTML = text;

内容的提问来源于stack exchange,提问作者Meikel Rizky Hartawan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.31 17:06:29