在DOM准备好后删除元素

Removing elements after DOM is ready

本文关键字:删除 元素 准备好 DOM      更新时间:2023-09-26

我有一些用户可以填写的字段(例如,姓名,号码,地址),然后他们可以点击"添加",创建一个div,显示他们刚刚输入的信息,每个条目有一个"删除"按钮(一个href)。我遇到的问题是,一旦DOM准备好了,删除按钮就不起作用了。我已经硬编码了一个删除按钮,删除第三div(第三是任意的),这是有效的,但不是那些在页面加载后生成的。我的问题是,在DOM准备好后,我如何才能使删除按钮工作?

下面是remove函数(id被传入,所以它知道要删除哪个div):

function remove(id) {
    $("div.reviewSub"+id).remove();
}

下面是调用函数的处理程序:

$(".remove").click(function(event) {remove(event.target.id);});

我在检索数据后显示数据的方式是.append():

$(".reviewSub"+num).append("<a href='"#'" class='"remove'" id='"" + num + "'">Remove</a>");

您可以在jQuery中使用live方法。

$('.remove').live('click', function(event){
    remove(event.target.id); 
});

我怀疑你有代码$(".remove").click(function(event) {remove(event.target.id);});之前,你是追加DOM。因此,jQuery无法将click事件绑定到元素上,因为元素还不存在。

更多文档在这里http://api.jquery.com/live/