下面的代码是使用 Ajax 调用动态生成的,并放置在名为 studentresults 的硬编码 div 中。
<div id="studentresults" class="row span8 offset2">
<table id="tablestudent" class="table table-striped table-hover center-table">
<thead>Heading for my table</thead<
<tbody>
<tr id="showstudents">
<td>29041</td>
<td>jan</td>
<td>jan</td>
<td>
<a class="btn" href="#">View Results »</a>
</td>
<td id="29041">
<a id="29041" class="btn showstudent" href="#">Delete Student » </a>
</td>
</tr>
<tr id="showstudents">
.... another dynamic record from Ajax...
</tr>
</tbody>
</table>
</div>
这很好用。但是,我想对 Delete Student 标签进行另一个 Ajax 调用。我不明白如何为这个动态内容编写 jQuery 点击函数。
JQuery 调用不起作用
$('.showstudent').click(function(){
alert('In click');
});
然而,这在硬编码的 div container
中有效
$('#studentresults').click(function () {
alert('In click');
});
如何访问动态 <a>
内容
最佳答案
如果是动态元素,您需要使用基于事件传播的事件监听器。
当您使用 $('.showstudent').click(..)
注册事件处理程序时,它会在执行时执行选择器,动态元素可能不存在时间,因此事件处理程序不会附加到这些元素
$(document).on('click','.showstudent', function(){
alert('In click');
});
关于javascript - 从 JQuery 中动态创建的数据获取点击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17310724/