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