Javascript 克隆div并更改内部选择的id

Javascript 克隆div并更改内部选择的id,javascript,jquery,html,dom,Javascript,Jquery,Html,Dom,我使用此代码克隆.majordiv中的.minordiv: $(文档)。在(“单击“,”.clone”,clone)上; 克隆指数=1; 函数克隆(){ 克隆索引++; $(this.parents(“.minor”).clone() .附于(“.主要”) .attr(“id”、“表格”+克隆索引); } 不适用 测试1 测试2 主要选择id 对 不 不适用 问题1 对 不 不适用 问题2 + 如果成功替换父项的ID,则需要获取子项并替换其ID。要获取子项,可以使用find(

我使用此代码克隆
.major
div中的
.minor
div

$(文档)。在(“单击“,”.clone”,clone)上;
克隆指数=1;
函数克隆(){
克隆索引++;
$(this.parents(“.minor”).clone()
.附于(“.主要”)
.attr(“id”、“表格”+克隆索引);
}


不适用
测试1
测试2
主要选择id

对 不 不适用 问题1

对 不 不适用 问题2

+


如果成功替换父项的ID,则需要获取子项并替换其ID。要获取子项,可以使用
find(“select”)
,要替换它们的ID,可以使用
attr()
中的函数,该函数将当前后缀添加到字符串
“form”+cloneIndex
。要获取当前后缀,可以使用
this.id.substring(5)

试试这个(我为演示添加了
console.log
行,您不需要它):

cloneIndex=1;
函数克隆(){
克隆索引++;
$(此)。父母(“.minor”)
.clone()
.attr(“id”,“表格”+克隆索引)
.附于(“.主要”)
.查找(“选择”)
.attr(“id”,函数(){
返回“form”+cloneIndex+this.id.substring(5);
});
log($(“.major”).html());
}
$(“#添加”)。单击(克隆)


不适用
测试1
测试2
主要选择id

对 不 不适用 问题1

对 不 不适用 问题2

+


您还需要替换所有的ID:

$(文档)。在(“单击“,”.clone”,clone)上;
设克隆指数=1;
函数克隆(){
克隆索引++;
$(this.parents(“.minor”).clone()
.附于(“.主要”)
.attr(“id”,“表格”+克隆索引)
.查找(“选择”)。每个功能{
$(s).attr(“id”,$(s).attr(“id”).replace(/form\d+/,“form”+cloneIndex));
});
}


不适用
测试1
测试2
主要选择id

对 不 不适用 问题1

对 不 不适用 问题2

+


请插入代码,因为代码不适用于melooks,您需要添加.prop()来克隆并传递新id。@Jared是否粘贴示例/解决方案?动态生成
id
值的代码通常可以不使用这些
id
属性。解释为什么需要
id
属性?+1我想到了
replace()
,但后来决定使用更简单、性能更高的
substring()
。但是,您不需要
each()
,只需像我一样使用函数获取
attr()
的值。