Jquery 更改克隆html元素的id值

Jquery 更改克隆html元素的id值,jquery,html,Jquery,Html,我不知道为什么我克隆的元素的id没有改变。这是我正在编写的代码 c.children('#response1').attr('id','response'+ (++inputs) ); 您需要使用find而不是children。 Children仅适用于直接子项,不适用于子项的子项。您尝试选择的输入元素不是行标记的直接子项。子函数仅选择直接子函数。您可以使用find函数获取非直接子代 您可以查看此更新的小提琴,当您单击输入文本框时,它将显示id: 顺便说一下,代码中还有一个错误。如果您添加3

我不知道为什么我克隆的元素的id没有改变。这是我正在编写的代码

 c.children('#response1').attr('id','response'+ (++inputs) );

您需要使用find而不是children。
Children仅适用于直接子项,不适用于子项的子项。

您尝试选择的输入元素不是行标记的直接子项。子函数仅选择直接子函数。您可以使用find函数获取非直接子代

您可以查看此更新的小提琴,当您单击输入文本框时,它将显示id:

顺便说一下,代码中还有一个错误。如果您添加3行或更多行,然后删除不是最后一行的行,然后添加另一行,您将获得重复的ID。原因是当删除一行时,即使它不是最后一行,也会减少输入计数器。例如:

添加两行

response1
response2 
response3
现在删除第二行

response1
response3
添加另一行

response1
response3
response3  (this is the new one. duplicate id)
解决方案是不减少输入,除非它是最后一行,但这是可选的。如果您确实需要按顺序编号的项目,那么只要在从除末端以外的任何位置删除输入时重新编号即可