我有 html,我需要动态地在表中附加一行,还需要在附加 div 类中捕获单击事件。如何实现这一点?
JavaScript:
$(document).ready(function() {
$("#click").click(function() {
$('table').prepend('<tr> <td>something3</td> <td> <a><div class="s"> s </a> </td></tr>');
});
$(".s").click(function() {
alert("Ok");
});
});
Run Code Online (Sandbox Code Playgroud)
HTML:
<input type="button" id="click" value="click"/>
<table width='100%'>
<tr><td>something</td><td>else here</td></tr>
<tr><td>something2</td><td>else here2</td></tr>
<tr><td>something3</td><td>else here3</td></tr>
</table>
Run Code Online (Sandbox Code Playgroud)
请参阅该live()方法,它允许您为 DOM 中与给定选择器匹配的所有当前和未来元素绑定一个事件。
$(".s").live('click', function(){
alert("Ok");
});
Run Code Online (Sandbox Code Playgroud)
将处理程序附加到与当前选择器匹配的所有元素的事件中,现在和将来
请注意,这个答案写于 2011 年 10 月,当时 jQuery 1.6.4 是王者。live()在 1.7 中被弃用,以支持使用on(). 等效的语法现在是;
$(document).on("click", ".s", function(){
alert("Ok");
});
Run Code Online (Sandbox Code Playgroud)