我在 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”属性。
有谁知道为什么会这样?如何克隆一个包含所有选项和回调的选择元素?