【发布时间】:2020-03-10 08:06:38
【问题描述】:
我在 html 页面中有一个带有 id="a" 的选择元素(例如)。 我有一个名为 f() 的函数。 当我写的时候
$("#a").on("change",f);
它有效,这意味着每次我更改下拉列表中的选定值时,都会调用函数 f()。
我想将此选择复制到页面的另一个位置。 我有这个代码:
var oldSelect=$("#a")
var newSelect=oldSelect[0].cloneNode(true);
newSelect.id="b";
$("#b").on("change",f);
当我更改新下拉列表中的选定值时,不会调用函数 f()。
我尝试使用 chrome 的 devTools 对其进行调试,发现 $("#a") 是一种长度为 1 的数组,它首先具有选择本身。但是 $("#b") 没有包含选择本身的“0”属性。
有人知道为什么会这样吗?如何克隆一个包含所有选项和回调的选择元素?
【问题讨论】:
-
你能试试这个吗?
var newSelect = $("#a").clone(true);
标签: javascript jquery html clonenode jquery-clone