在DOM准备好后删除元素

时间:2011-09-29 21:01:19

标签: javascript jquery dom

我有一些用户可以填写的字段(例如,姓名,号码,地址),然后他们可以点击“添加”,创建一个div,用“删除”按钮显示他们刚刚输入的信息(a每个条目的href)。我遇到的问题是,一旦DOM准备就绪,删除按钮就不起作用了。我已经硬编码删除按钮,删除第3个div(第3个是任意的),这是有效的,但不是在页面加载后生成的。我的问题是如何在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>");

1 个答案:

答案 0 :(得分:6)

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

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

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

此处有更多文档http://api.jquery.com/live/