克隆字段集并使用纯JavaScript更改ID?

克隆字段集并使用纯JavaScript更改ID?,javascript,forms,clone,Javascript,Forms,Clone,我知道如何使用纯JavaScript克隆对象并增加数量,但是我想知道最好的方法是什么来替换ID和其他属性,如标签元素,以便在将克隆的字段集附加到表单时不会重复它们 有人能给我一个简单的例子,说明如何使用纯ole'JavaScript来实现这一点吗?您可以编写标签,而无需这样做: <p><label>Text 1 : <input type="text" name="text[]" /></label></p> <p><

我知道如何使用纯JavaScript克隆对象并增加数量,但是我想知道最好的方法是什么来替换ID和其他属性,如标签元素,以便在将克隆的字段集附加到表单时不会重复它们


有人能给我一个简单的例子,说明如何使用纯ole'JavaScript来实现这一点吗?

您可以编写标签,而无需这样做:

<p><label>Text 1 : <input type="text" name="text[]" /></label></p>
<p><label>Text 2 : <input type="text" name="text[]" /></label></p>
<p><label>Text 3 : <input type="text" name="text[]" /></label></p>

将节点克隆为正常节点,并在将其插入文档之前对其进行变异。如果存在具有相同ID的两个元素节点,只要它们不是同时插入到文档的childNodes树中,这并不重要

var copy= document.cloneNode(element);
n++;
copy.getElementsByTagName('label')[0].htmlFor= 'thing'+n;
copy.getElementsByTagName('input')[0].id= 'thing'+n;
element.parentNode.appendChild(copy);