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

jQuery如何仅移除动态追加到tbody的tr元素而不删除tbody本身

问题原因

$('#songsTbody').remove()的作用是直接选中id为songsTbody的<tbody>元素本身执行删除,会把tbody节点连同内部所有内容一并移除,自然无法保留tbody本身。

可用操作方法

根据你的实际场景选择对应方案:

  • 若tbody内没有其他预置静态内容,只有你动态追加的tr,直接调用empty()方法清空tbody的所有子节点即可,tbody本身会被保留:
$('#songsTbody').empty();
  • 若tbody内本身存在预置的静态tr,只想删除动态追加的行,最稳妥的做法是追加动态行时给tr加专属类名做标记:
// 追加行时给动态tr添加专属标识类
for (var i = 0 ;i < 12 ;i++){
  $(`<tr class="dynamic-row"><td>test</td></tr>`).appendTo('#songsTbody');
}

删除时仅选中带该标识类的tr执行删除,不会误伤原有静态内容:

$('#songsTbody tr.dynamic-row').remove();
  • 若你不方便修改之前的追加逻辑,且需要清空tbody下所有tr(包含静态和动态的),可以直接选中tbody下的tr元素执行删除:
$('#songsTbody tr').remove();

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 01:01:42