【发布时间】:2017-07-08 06:14:06
【问题描述】:
<div class="container">
<select class="btn" name="item">
<option>Alpha</option>
<option>Beta</option>
<option>Gamma</option>
<option>Theta</option>
</select>
<input type="text" class="desc" name="desc">
</div>
在本例中,“选择”下拉菜单中默认选择的元素是“Alpha”。我想克隆带有值的完整节点。如果我在下拉列表中选择不同的值并在输入框中输入一些文本,然后克隆节点,则只会克隆文本框值。新对象中“选择”下拉列表的值保持默认值 (Alpha)。
为什么“选择”和“输入”的克隆行为不同?
var parent = document.querySelector(".container");
var button = parent.querySelector(".btn");
var textbox = parent.querySelector(".desc");
> textbox.value
< "some random text"
> button.value
< "Gamma"
var cloned = parent.cloneNode(true);
var childButton = cloned.querySelector(".btn");
var childTextbox = cloned.querySelector(".desc");
> childTextbox.value
< "some random text"
> childButton.value
< "Alpha"
【问题讨论】:
-
@DeepakGang,有 3 个答案,你应该接受其中任何一个。
-
@Sagar V. 感谢您的提醒。发布问题后我去睡觉了。
标签: javascript select clone