Javascript JQuery类选择器是';行不通

Javascript JQuery类选择器是';行不通,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我试图根据元素的类(使用$(“.class”))选择一个元素,但我遇到了一个问题,我不知道为什么会发生这种情况 首先,元素是一个图像。当以下人员执行函数时,将创建该函数: $("#container").append("<img class='removeIcon' src='images/remove.png' remove='"+$(this).val()+"' />"); 我不确定这是否是因为图像是后来添加的,或者我做错了什么?但是,每当我使用该类单击任何图像时,都没有警报对

我试图根据元素的类(使用$(“.class”))选择一个元素,但我遇到了一个问题,我不知道为什么会发生这种情况

首先,元素是一个图像。当以下人员执行函数时,将创建该函数:

$("#container").append("<img class='removeIcon' src='images/remove.png' remove='"+$(this).val()+"' />");
我不确定这是否是因为图像是后来添加的,或者我做错了什么?但是,每当我使用该类单击任何图像时,都没有警报对话框,也没有控制台日志

我在控制台中键入了$(“.removecon”);-它显示了该类的所有图像,所以我不明白出了什么问题。你甚至不能点击一个类选择器吗


提前谢谢

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

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

它绑定
在所有
上单击
事件。移除
#容器内的
元素

(包括动态添加的元素)

是的,问题是它将在以后添加,因此您必须使用以下方式进行委派:

$("#container").on('click', '.removeIcon', function() {
    alert();
    console.log("Clicked!");
});
因此,事件将被分配到容器,但将作用于.removiecon

有关更多信息,请查看jQuery的

单击()函数不能处理动态加载的数据。 您必须通过DOM或通过使用onclick函数来捕获单击事件

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

$(“#容器”)。在('click','removecon',function()上{
控制台日志(“单击”);
});

或onclick函数

$("#container").append("<img class='removeIcon' onclick="somefunctionInJS()" src='images/remove.png' remove='"+$(this).val()+"' />");
$(“#容器”)。追加(“”);

好吧,几句解释会更好,所以添加它。当您添加动态元素时,它们不会“重新触发”文档onload调用,因此通常调用就像您不会执行一样。这就是
上的
很有用的地方。我还要提到,不仅仅是
上的,因为它涉及动态创建的元素。工作得很好,谢谢!如果SO允许,我会在几分钟内接受答案
$("#container").append("<img class='removeIcon' onclick="somefunctionInJS()" src='images/remove.png' remove='"+$(this).val()+"' />");