Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从jQuery中生成的页面元素访问jQuery函数_Javascript_Jquery - Fatal编程技术网

Javascript 从jQuery中生成的页面元素访问jQuery函数

Javascript 从jQuery中生成的页面元素访问jQuery函数,javascript,jquery,Javascript,Jquery,对于绑定到on函数的元素,我有一个小jQuery调用,它可以完美地返回: $(".claim-detail a").on("click", function(){ ...some stuff }) 然后是一点html: <p class="claim-detail"><a href="#modal" data-toggle="modal">get the data</a></p> 工作完美 但我需要用javascript生成声明详细的ht

对于绑定到on函数的元素,我有一个小jQuery调用,它可以完美地返回:

$(".claim-detail a").on("click", function(){
...some stuff   
})
然后是一点html:

<p class="claim-detail"><a href="#modal" data-toggle="modal">get the data</a></p>
工作完美

但我需要用javascript生成声明详细的html。当我将它移动到那里时,html在页面上生成,没有问题,但是jQuery函数完全中断。在javascript中,哪一块在哪一块之前并不重要


我有什么明显的错误吗?

您需要对动态生成的元素使用事件委派,这些元素在DOM就绪时不存在。将单击处理程序更改为:

$(document).on("click", ".claim-detail a", function(){

我之所以这么说,可能是因为我们不知道您的代码是如何生成的,而您的单击处理程序在元素存在之前就试图绑定到该元素

您需要对动态生成的元素使用事件委派,这些元素在DOM就绪时不存在。将单击处理程序更改为:

$(document).on("click", ".claim-detail a", function(){
我之所以这么说,很可能是因为我们不知道您的代码是如何生成的,您的单击处理程序在元素存在之前试图绑定到该元素

<p class="claim-detail"><a onclick="myNewFunction()" href="#modal" data-toggle="modal">get the data</a></p>
其中myNewFunction是您在事件中使用的函数。另一个选项是在实际完成在DOM中创建HTML id和/或类时创建事件。

使用

<p class="claim-detail"><a onclick="myNewFunction()" href="#modal" data-toggle="modal">get the data</a></p>

其中myNewFunction是您在事件中使用的函数。另一个选项是在实际完成在DOM中创建HTML id和/或类时创建事件。

如果没有您的代码,我们无法说出您做错了什么。在绑定事件处理程序之前,必须创建并添加元素。不知道,因为在没有代码的情况下,你不会在页面上显示你是如何生成它的,所以我们不能说你做错了什么。在绑定事件处理程序之前,必须创建并添加元素。不知道,因为你没有在页面上显示你是如何生成它的。不,你不必使用事件委派。元素必须在绑定处理程序时存在。@FelixKling-编辑的答案,在您评论时键入的这是完美的,@tymeJV。谢谢。不,您不必使用事件委派。元素必须在绑定处理程序时存在。@FelixKling-编辑的答案,在您评论时键入的这是完美的,@tymeJV。谢谢