在我的页面中,我正在生成一个带有ajax调用的列表,就像这样:
for var k in items {
if (items.hasOwnProperty(k)) {
someElement.append("<li data-id='"+k+"' class='dynamic'>"+items[k]+"</li>";
}
}
可以正常工作。 现在单击按钮,我想删除具有“ .dynamic”类的项目
myBtn.on("click", function() {
$(".dynamic").remove();
});
但是没有选择任何新添加的元素。
我知道,如何使用.on()将listneres添加到动态添加的元素中。 有没有办法选择它们?
谢谢
答案 0 :(得分:2)
您需要定位页面加载时存在的元素,并使用 event delegation 。
传递给 on()
的第二个参数应该是您希望将click
事件处理程序附加到的动态创建的元素:
$("document").on("click", myBtn, function() {
$(".dynamic").remove();
});