如何克隆<tr>并为其设置唯一的tr id?
给克隆的
<tr>设置递增ID的解决方案 你只需要在克隆完成后,给新生成的<tr>元素手动设置ID即可,同时维护一个计数器来保证ID的唯一性:
- 先初始化一个计数器变量,用来记录克隆次数:
let cloneCounter = 1;
- 修改你的克隆代码,添加ID设置的逻辑:
const $tr = $('#dummyTr'); const $clone = $tr.clone(); // 清空文本框内容 $clone.find(':text').val(''); // 给克隆的tr设置唯一ID $clone.attr('id', `clone-${cloneCounter}`); // 插入到原tr的后面 $tr.after($clone); // 计数器自增,下次克隆用新编号 cloneCounter++;
额外提示
- 如果不想用全局变量,可以把计数器放在闭包里,避免和其他代码变量冲突:
const cloneTr = (function() { let counter = 1; return function() { const $tr = $('#dummyTr'); const $clone = $tr.clone(); $clone.find(':text').val(''); $clone.attr('id', `clone-${counter}`); $tr.after($clone); counter++; } })(); // 调用这个函数就能克隆带递增ID的tr cloneTr();
- 如果页面刷新后需要保留计数,可以用
localStorage存储计数器的值,比如初始化时从localStorage读取,每次自增后再存回去。
内容的提问来源于stack exchange,提问作者Hamza Qureshi
相关产品推荐
相关产品推荐

