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()
的值。