【发布时间】:2017-03-08 11:05:05
【问题描述】:
所以,我有一个包含输入元素的简单表格,我需要向其中动态添加新行。
其中一个单元格包含一个 SELECT 元素和一个使用 cloneNode() 复制的 OPTIONS 列表。
问题是:当我更改任何复制的 SELECT 元素时,原始 SELECT 的索引也会更改为相同的值,就像克隆过程留下了某种“绑定”一样。
我的桌子看起来像这样:
<table>
<tr>
<th>Header</th>
</tr>
<tr>
<td>
<select>
<option>Options</option>
</select>
</td>
</tr>
</table>
克隆例程相对复杂,因为我必须更改单元格 ID、元素名称和其他内容,但归结为以下内容:
var table = document.querySelector('#table');
var rows = table.querySelectorAll('tr');
for (var x = 0; x < 5; x++)
{
row = rows[1].cloneNode(true);
// Changes everything that needs to be changed
table.appendChild(row);
}
有谁知道是什么原因导致原始 SELECT 被“绑定”到复制的?
提前致谢!
【问题讨论】:
-
如何更新值?
-
问题可能不在于克隆操作,而在于您更新索引的方式
-
@TrinhHoangNhu:没有“可能”,cloneNode() 没有链接任何东西;)
标签: javascript html dom clonenode