Javascript 通过jQuery动态生成的按钮不工作

Javascript 通过jQuery动态生成的按钮不工作,javascript,html,jquery,ajax,button,Javascript,Html,Jquery,Ajax,Button,在AJAX的帮助下在表中创建和获取表和按钮 表中的按钮不起作用。我看不到与控制台上的按钮单击相关的任何操作。按钮不工作的原因可能是什么 按钮创建的代码结构: for (var i = 0; i < finishedExams.length; i++) { document.getElementById('FEtemplate').innerHTML += '<tr><th>' + (i + 1) + '</th><td>' + resul

在AJAX的帮助下在表中创建和获取表和按钮

表中的按钮不起作用。我看不到与控制台上的按钮单击相关的任何操作。按钮不工作的原因可能是什么

按钮创建的代码结构:

for (var i = 0; i < finishedExams.length; i++) {
  document.getElementById('FEtemplate').innerHTML += '<tr><th>' + (i + 1) + '</th><td>' + result + '</td><td>' + title + '</td><td>' + et + '</td><td>' + humanized_time_span(date) + '</td><td><button type="button" class="btn btn-sm btn-alt-primary sendButtonData" data-qr-exam-id="' + id + '"> Send</button></div></td></tr>';
}
我试过什么

$('body').on('click', '.sendButtonData', function(){
这段代码可以工作,但使用表的第一部分的ID获取它。所有其他按钮的作用就好像它们在为表的第一行工作一样


此外,我将按钮类型从“按钮”更改为“提交”。同样,没有发生任何更改。

我认为在创建这些按钮之前,您已经将事件侦听器附加到了
“.sendButtonData”
元素,当您单击其中一个按钮时,不会发生任何事情,因为事件已附加到具有该类名的现有元素,在本例中,这些元素没有,但不会用于将来的元素

$('.sendButtonData')。单击(函数(){
log(“单击按钮!”);
});
对于(变量i=0;i<5;i++){
document.getElementById('FEtemplate').innerHTML++=''+(i+1)+''+''+“某些结果”+''+“某些标题”+''+''+“某些et”+''+''+“某些日期”+“发送”;
}


因为要动态创建这些按钮,所以在创建它们之后需要附加一个事件侦听器,或者对父元素使用click event delegation,以便所有未来的子按钮都可以获得click listener。我知道这是在执行侦听器任务<代码>$('body')。在('click','.sendbuttonda',function(){代码中缺少什么东西吗?谢谢@SaymoinSamPls检查我的答案,并愉快地编码!我想在最后一部分对您的示例提出一个问题。如何获取按钮的
数据qr考试id
值?请检查JSFIDLE上的示例。您会看到它说控制台上的“undefined”(未定义)。很抱歉,我正在工作,对于您的JSFIDLE示例,您通过
$(e.target).attr(“数据qr检查id”)
而不是
$(this.attr(“数据qr检查id”)获取按钮的属性
因为它是父元素的事件元素,所以
指的是父元素,而不是当前单击的按钮!我注意到您在无法回答时很忙。非常感谢您抽出时间帮助我。土耳其向阿尔及利亚致意。
$('body').on('click', '.sendButtonData', function(){