我有一些用户可以填写的字段(例如,姓名,号码,地址),然后他们可以点击“添加”,创建一个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>");
答案 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/