我试图根据其类选择一个元素(使用$(“。class”)),但是遇到了问题,我不确定为什么会这样。

首先,元素是图像。它是通过以下方式执行功能时创建的:

$("#container").append("<img class='removeIcon' src='images/remove.png' remove='"+$(this).val()+"' />");


这可以正常工作。触发功能后,即使多次,也会添加图像。每个要素的价值就是它的意义所在,一切都很好。元素很好。

什么不起作用...

$(".removeIcon").click(function() {
    alert();
    console.log("Clicked!");
});


我不确定它是否不起作用,因为稍后添加了图像,或者我做错了什么?但是,每当我单击带有该类的任何图像时,就不会出现警报对话框,也没有控制台日志。

我在控制台中输入了$(“。removeIcon”); -它显示了该类的所有图像,所以我不明白这是怎么回事。您甚至不能单击班级选择器吗?

提前致谢!

最佳答案

您的代码仅适用于现有的.removeIcon元素。

如果您确实添加了动态元素,请尝试使用.on

$("#container").on('click', '.removeIcon', function() {
    alert();
    console.log("Clicked!");
});


click内的所有.removeIcon元素上绑定#container事件
 (包括动态添加的元素)

09-20 20:09