在jQuery中单击表上的事件

时间:2011-10-14 13:17:43

标签: jquery html-table

我有html,我需要动态地在表中追加一行,我还需要在append div类中捕获click事件。如何实现这一点?

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");
    });

});

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>

1 个答案:

答案 0 :(得分:4)

参见live()方法,它允许您为DOM中与给定选择器匹配的所有当前和未来元素绑定事件。

 $(".s").live('click', function(){
    alert("Ok");

 });

jQuery docs说:

  

为现在和未来与当前选择器匹配的所有元素的事件附加处理程序


注意这个答案写于2011年10月,当时jQuery 1.6.4为王。 live()在1.7中已被弃用,赞成使用on()。现在是等效的语法;

 $(document).on("click", ".s", function(){
    alert("Ok");
 });