【发布时间】:2011-10-27 10:31:23
【问题描述】:
我知道如何使用纯 JavaScript 克隆对象并增加数字,但是我想知道最好的方法是替换标签元素的 ID 和其他属性(例如“for”),以便在附加克隆的字段集时不会重复它们到表格。
谁能给我一个简单的例子,说明如何使用纯 ole' JavaScript 做到这一点?
【问题讨论】:
标签: javascript forms clone
我知道如何使用纯 JavaScript 克隆对象并增加数字,但是我想知道最好的方法是替换标签元素的 ID 和其他属性(例如“for”),以便在附加克隆的字段集时不会重复它们到表格。
谁能给我一个简单的例子,说明如何使用纯 ole' JavaScript 做到这一点?
【问题讨论】:
标签: javascript forms clone
正常克隆节点,并在将它们插入文档之前对其进行变异。两个 Element 节点存在是否具有相同的 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);
【讨论】:
你可以像这样写你的“标签”而不用“for”:
<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>
【讨论】: