Jquery 新添加的按钮没有';t激活onclick函数

Jquery 新添加的按钮没有';t激活onclick函数,jquery,html,Jquery,Html,所以我有两个不同的按钮: 这是我的JQuery $(function () { $('.AddNew').click(function(){ console.log(this.name); }); $('.EditData').click(function() { var y = document.getElementById("location_"+this.name); y.innerHTML = '<in

所以我有两个不同的按钮:

这是我的JQuery

$(function () {
    $('.AddNew').click(function(){
        console.log(this.name);
    });
    $('.EditData').click(function() {
         var y = document.getElementById("location_"+this.name);
         y.innerHTML = '<input type="button" class="AddNew btn btn-success" value="Add Allocation" id="'+this.name+'">'
    });
});
$(函数(){
$('.AddNew')。单击(函数(){
console.log(this.name);
});
$('.EditData')。单击(函数(){
var y=document.getElementById(“location_”+this.name);
y、 innerHTML=“”
});
});
AddNew只是在控制台上打印一些东西。 EditData将EditData按钮替换为AddNew按钮

添加新的工作成功。
EditData成功地将其自身替换为AddNew按钮,但是此按钮无法按预期工作,并且在单击时不会在控制台上打印任何内容。

您可以尝试使用以下方法:

$("body").on("click", ".AddNew", function(){
   console.log("test");
});

您可以尝试使用以下内容:

$("body").on("click", ".AddNew", function(){
   console.log("test");
});

您还可以使用jquery委托方法,这只适用于
console.log(“test”)
。如果我想要
console.log(this.name)
?@BenjaminJu它应该还能用,不是吗?通常在这种情况下,
指的是
AddNew
。我可能错了。@LukasGund no,.delegate()早就被弃用了,取而代之的是.on()@ArmedinKuka no,它不起作用$(this)有很多信息,但是$(this)。数据未定义,我还没有找到访问this.name或this.id的方法。您也可以使用jquery委托方法,它只适用于
console.log(“test”)
。如果我想要
console.log(this.name)
?@BenjaminJu它应该还能用,不是吗?通常在这种情况下,
指的是
AddNew
。我可能错了。@LukasGund no,.delegate()早就被弃用了,取而代之的是.on()@ArmedinKuka no,它不起作用$(this)有很多信息,但是$(this).数据没有定义,我还没有找到访问this.name或this.id的方法