将Click事件添加到动态元素

时间:2016-02-20 22:31:26

标签: javascript jquery

如何将click事件添加到此动态元素以及如何获取所单击的文本?

$data.append("<tfoot><tr><td></td</tr></tfoot");

$("#tab2").html($data);
alert(data.n);

for (i = 0; i < data.n + 1; i++) {

    thelink = $('<a>', {
        text: i,
        href: '#'
    }).appendTo('tfoot');

}

1 个答案:

答案 0 :(得分:1)

您在theLink循环中创建的for变量是一个jQuery对象(调用.appendTo()的结果仍然是创建的链接。)

您可以像往常一样调用.click(<function>)将函数绑定到click事件。

示例:

$data.append("<tfoot><tr><td></td</tr></tfoot>"); // added > at the end of the string
$("#tab2").html($data);
alert(data.n)

for (var i = 0; i < data.n + 1; i++) {            // added var before i
    var thelink = $('<a>', {                      // added var before thelink
        text: i,
        href: '#'
    }).appendTo('tfoot');

    // Now you can add the click event:
    thelink.click(function () {
        alert("Hello, you clicked the link number "+i);
    });
}

在旁注中,也许您应该拨打.appendTo('#tab2 tfoot')而不是.appendTo('tfoot') - 后者会将链接添加到页面上的所有tfoot,前者只是#tab2 1}}&#39; s tfoot