我试图根据其类选择一个元素(使用$(“。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
事件(包括动态添加的元素)