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

如何正确将HTML代码追加到div?追加后table内按钮位置错位如何解决?

问题原因

你的HTML结构不符合语法规范:<tbody> 标签的直接子元素只能是 <tr> 表格行,你直接将按钮 input 放在 <tbody> 下,浏览器渲染时会自动将这个非法元素移动到 <table> 标签的外部上方,导致按钮错位。

修复方案

可选两种实现方式,按需调整即可:

  • 方案1:按钮放在表格最后一行
    将按钮包裹在单独的表格行内,设置单元格跨列占满整行,代码如下:
    <div id="tables"></div>
    <script>
    var HTML_new_group = '\
    <h4>'+gpName+'</h4>\
    <table border="1">\
        <thead>\
            <tr>\
                <td>option</td>\
                <td>value</td>\
            </tr>\
        </thead>\
        <tbody>\
            <tr>\
                <td><input type="text" class="np-gp-option" data-np-gp-option-id="'+gpId+'"></td>\
                <td><input type="text" class="np-gp-value" data-np-gp-value-id="'+gpId+'"></td>\
            </tr>\
            <tr>\
                <td colspan="2">\
                    <input type="button" value="Add" class="np-gp-add" data-np-gp-add-id="'+gpId+'" />\
                </td>\
            </tr>\
        </tbody>\
    </table>';
    $(HTML_new_group).appendTo("#tables");
    </script>
    
  • 方案2:按钮放在表格外部
    如果不需要按钮展示在表格范围内,直接将按钮移到</table>标签外部即可:
    var HTML_new_group = '\
    <h4>'+gpName+'</h4>\
    <table border="1">\
        <thead>\
            <tr>\
                <td>option</td>\
                <td>value</td>\
            </tr>\
        </thead>\
        <tbody>\
            <tr>\
                <td><input type="text" class="np-gp-option" data-np-gp-option-id="'+gpId+'"></td>\
                <td><input type="text" class="np-gp-value" data-np-gp-value-id="'+gpId+'"></td>\
            </tr>\
        </tbody>\
    </table>\
    <input type="button" value="Add" class="np-gp-add" data-np-gp-add-id="'+gpId+'" />';
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 04:54:04