【问题标题】:JQuery select dynamically added elementsjQuery选择动态添加的元素
【发布时间】:2019-06-14 07:28:33
【问题描述】:

在我的页面中,我正在生成一个带有 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() 将侦听器添加到动态添加的元素中。 是否也有一些方法可以选择它们?

谢谢

【问题讨论】:

    标签: jquery dynamic


    【解决方案1】:

    您需要定位页面加载时存在的元素,并使用 event delegation

    传递给 on() 的第二个参数应该是您希望将click 事件处理程序附加到的动态创建元素:

    $("document").on("click", myBtn, function() {
      $(".dynamic").remove();
    });
    

    【讨论】:

    • 很抱歉,经过大约半小时的调试和尝试所有操作后,我发现我的班级名称中有错字。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-30
    相关资源
    最近更新 更多