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

为克隆的fieldset中.myClass标签添加递增序号span的问题求助

解决克隆fieldset后.myClass内序号不递增的问题

问题根源

你当前的代码每次执行时会给所有.myClass元素追加span,但克隆操作会把原fieldset里的.myClass(包括已有的span)一起复制,导致新元素自带旧序号;如果克隆后仅针对新元素执行遍历,索引会从0开始,自然显示为1。

方案一:克隆时直接设置新序号(推荐)

在克隆阶段就计算好新fieldset的序号,避免事后遍历所有元素,效率更高:

// 获取当前已存在的fieldset总数
var totalFieldsets = $('fieldset').length;
// 新序号 = 总数 + 1
var newIndex = totalFieldsets + 1;

// 克隆最后一个fieldset(可根据你的插件逻辑调整克隆目标)
var $newFieldset = $('fieldset').last().clone();

// 清空新fieldset里.myClass的内容(移除克隆过来的旧span),再添加新序号
$newFieldset.find('.myClass').html(`<span>${newIndex}</span>`);

// 将新fieldset添加到表单中
$newFieldset.appendTo('form');

方案二:全局重新生成序号(适合无法修改克隆逻辑的场景)

如果没法修改克隆插件的逻辑,就先清理所有旧的序号span,再重新遍历设置正确的序号:

// 先移除所有已有的序号span,避免重复添加
$('.myClass span').remove();

// 遍历所有.myClass,按索引设置递增序号
$('.myClass').each(function(i) {
    $(this).append(`<span>${i + 1}</span>`);
});

关键注意点

  • 克隆时务必清理新元素里的旧序号,否则会继承原元素的数字
  • 不要重复执行追加span的操作,要么在克隆时单独处理新元素,要么全局重置所有序号

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 04:45:45