$(this)不在delegate()上工作

时间:2013-09-15 14:17:04

标签: javascript jquery

我有一些简单的代码可以在事件上创建元素,其中一个元素是一个按钮,这个按钮有一个click事件。

<button id="' + packageNum.toString() + '" class="package-dup package-add-dup-' +
packageNum.toString() + '" title="Add Duplicate Parcel">Duplicate Parcel</button>' +

我只是想在按钮点击事件中从此按钮获取id属性。

$(function () {
    $("body").delegate(".package-dup", "click", function () {
       alert($(this).attr('id'));
})

这显示$(this).attr('id')元素为undefined。

如果我尝试使用正常的

$('.package-dup').click(function () { .... }

点击事件根本不起作用。

使用jquery 2.0.3

1 个答案:

答案 0 :(得分:0)

尝试使用on()并修复语法错误:

$(function () {
    $(document).on('click', '.package-dup', function () {
       alert( this.id );
    });
});

FIDDLE