Jquery 寻址新创建的动态元素id';s

Jquery 寻址新创建的动态元素id';s,jquery,Jquery,我有一个部门: <div id="div1"></div> 在同一页上某物/sub_某物在页面加载时加载良好,并且: document.getElementById("[dynamic_id_1]_folder_link").onclick = function(){ div_refresh(); } 然后div_refresh()刷新。现在,任何调用现在刷新的中任何新创建的动态id的javascript函数都不起作用。我猜这是因为jquery不知道在div更新后

我有一个部门:

<div id="div1"></div>
在同一页上<代码>某物/sub_某物在页面加载时加载良好,并且:

document.getElementById("[dynamic_id_1]_folder_link").onclick = function(){
  div_refresh();
}
然后
div_refresh()刷新
。现在,任何调用现在刷新的
中任何新创建的动态id的javascript函数都不起作用。我猜这是因为jquery不知道在div更新后创建的新id,因为它们是动态生成的。如何让它寻址新id并运行相同的:

document.getElementById("[dynamic_id_1]_folder_link").onclick = function(){
  div_refresh();
}

上面的代码?

带有委托事件处理程序。将当前事件处理程序替换为:

$('#div1').on('click', '[dynamic_id_1]_folder_link', div_refresh);
它也将适用于未来的元素

编辑:

您不能以这种方式调用带有参数的函数,您必须执行以下操作:

$('#div1').on('click', '[dynamic_id_1]_folder_link', function() {
    div_refresh(param);
});

尝试使用或在将
#div1
绑定到事件时使用

为什么在创建div后使用getElementById而不是$?另外,向我们展示如何将新的div插入到#div1中,精确地使用这一行:
$('#div1')。在('click','[dynamic#id#1]#文件夹链接'>',div#refresh('a#string#variable')它似乎在页面加载时运行所有函数。假设在页面加载上创建了4个动态链接,我只是替换了这样一个警报:
alert(“helloworld”)用于
div\u刷新
功能中的代码。“Hello World”将在页面加载中显示4次,如果我单击任何链接,则不会再次显示。@JasonBurgett-是的。请注意,div_refresh缺少括号,添加括号后,函数将立即执行,因此要向函数添加参数,还需要一个匿名函数。
$('#div1').on('click', '[dynamic_id_1]_folder_link', function() {
    div_refresh(param);
});