如何使用jQuery更改克隆元素的ID?

时间:2013-10-07 13:32:14

标签: jquery

我正在尝试克隆表单中的字段集,并在重命名字段集的图例和输入字段后将其附加到其他现有字段集的末尾。

除了克隆字段集 id 的更改外,一切正常。

我尝试通过

更改ID
item.children('fieldset[id^="block_"]:first').attr('id', 'block_'+max_index);

甚至通过

item.children('fieldset').attr('id', 'block_'+max_index);

字段集ID保持不变?!

我已经完成了一小段代码来说明问题:http://jsfiddle.net/Levure/4JK5T/

我的错误在哪里? 非常感谢您的提示!

4 个答案:

答案 0 :(得分:2)

在您的代码中,item指的是您的fieldset,所以行:

item.children('fieldset').attr('id', 'block_'+max_index); // <-- DOES NOT WORK

应该成为:

item.attr('id', 'block_'+max_index); // <-- DOES WORK

Here's the updated (working) fiddle

答案 1 :(得分:1)

尝试使用.prop

item.prop('id', 'block_'+max_index);

答案 2 :(得分:0)

不要搜索儿童使用此

    item.prop('id', 'block_'+max_index); 

DEMO

答案 3 :(得分:0)

首先将max_index从内部事件处理程序移出到外部和

改变这个:

item.children('fieldset').attr('id', 'block_'+max_index); // <-- DOES NOT WORK

到此:

item.attr('id', 'block_'+max_index);

在这里摆弄:http://jsfiddle.net/4JK5T/22/