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

为何JS生成的HTML中table位于card div下方?需调整显示顺序

问题排查:JavaScript构建HTML时table显示位置错误

编程初学者遇到的问题:使用JavaScript构建HTML结构时,table元素显示在<div class='card' id='card'>的下方,但实际需求是table优先显示,之后依次展示Notas标签、textarea、Recibido por文本及线条。

错误原因

你的代码存在两处关键问题,导致HTML结构解析错乱:

  1. 闭合标签未添加到结果变量
    在完成tfoot内的行定义后,有一段用于闭合table和开启notes容器的代码,仅作为独立字符串存在,没有通过result +=添加到最终HTML结果中:
result +=
  "&lt;td id='termsRow' colspan='" + (colSpan - 1) + "'  align='right'&gt;&lt;strong&gt;Deposit (%):&lt;/strong&gt;&lt;/td&gt;" +
  "&lt;td&gt;&lt;input type='number' id='deposit_percentage' min='0' class='terms' name='numberInputs' value='' onchange='deposit(this)'&gt;&lt;/td&gt;" +
  "&lt;td id='termsTotal' class='total_terms'&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/td&gt;" +
  "&lt;/tr&gt;";
// 下面这段字符串没有赋值给result,导致标签缺失
"&lt;/tfoot&gt;" +
"&lt;/table&gt;" +
"&lt;div class='col'&gt;"

这会导致table和tfoot无法正确闭合,浏览器只能自动修复错误结构,最终造成显示顺序混乱。

  1. tbody标签不完整
    初始HTML字符串中只包含</tbody>闭合标签,却没有对应的<tbody>起始标签,这也会干扰浏览器的结构解析。

修复方案

  1. 补全闭合标签的赋值
    将缺失的闭合标签代码添加到result中,修改后的代码如下:
result +=
  "&lt;td id='termsRow' colspan='" + (colSpan - 1) + "'  align='right'&gt;&lt;strong&gt;Deposit (%):&lt;/strong&gt;&lt;/td&gt;" +
  "&lt;td&gt;&lt;input type='number' id='deposit_percentage' min='0' class='terms' name='numberInputs' value='' onchange='deposit(this)'&gt;&lt;/td&gt;" +
  "&lt;td id='termsTotal' class='total_terms'&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/td&gt;" +
  "&lt;/tr&gt;" +
  "&lt;/tfoot&gt;" +
  "&lt;/table&gt;" +
  "&lt;div class='col'&gt;";
  1. 添加tbody起始标签
    在thead闭合后添加<tbody>标签,确保table结构完整:
let result = "&lt;div class='card' id='card'&gt;&lt;table class='table table-hover table-vcenter' id='dtable'&gt;" +
  "&lt;thead&gt;" +
  "&lt;tr&gt;" +
  "&lt;th style='width:6%'&gt;Prenda&lt;/th&gt;" +
  "&lt;th style='width:7%;'&gt;ID&lt;/th&gt;" +
  "&lt;th style='width:10%;'&gt;Cliente&lt;/th&gt;" +
  "&lt;/tr&gt;" +
  "&lt;/thead&gt;" +
  "&lt;tbody&gt;"; // 新增tbody起始标签

修复后,HTML结构会正确生成,table会在card容器内优先显示,后续的Notas标签、textarea等元素也会按预期紧跟在table之后。

内容的提问来源于stack exchange,提问作者onit

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 07:25:19