.parent().remove()问题

lea*_*aun 15 forms jquery clone

我有一个基于jQuery的表单,您可以在其中添加额外的人员到应用程序.我正在克隆第一个字段集并将其添加到最多3个额外的人.当您添加1个额外的人时,您可以选择删除该人.

但是,我的删除按钮不起作用.早些时候,直到我将额外的函数添加到克隆中才能更改字段集中其他元素的ID.

我正在使用:

$(".remove").click(function() {
    $(this).parent().remove();
Run Code Online (Sandbox Code Playgroud)

这是最初的工作,但现在它不是,我无法弄清楚为什么.

我已经删除了第一个"删除这个人"的行,只是为了表明第一个仍然有效,但其余的则没有.(当它被修复时,我将最终将第一个定位在舞台上)

可能更容易看到它所以我把它放在这里http://bit.ly/kHcAbe

基本上,除了第一部分之外,为什么我的"删除这个人"的任何想法都不起作用?

Pee*_*Haa 22

尝试:

$(document).on('click', '.remove', function() {
    $(this).parent().remove();
});
Run Code Online (Sandbox Code Playgroud)

事件绑定在页面加载上,因此新添加的元素不是.


Dav*_*tch 8

'live'函数调用已被弃用,不再有效.您可以在此处找到有关如何使用替换'on()'方法重写函数的说明以及有关弃用的更多信息:

http://api.jquery.com/live/

要处理所有当前和新创建的元素,您现在必须使用:

$(document).on("click", ".remove", function() {
    $(this).parent().remove();
});
Run Code Online (Sandbox Code Playgroud)

jQuery在文档对象上运行,而不是元素,并且还有一个附加参数来指定要监视的元素并添加事件侦听器.


oro*_*olo 5

确保关闭你的表达:

$(".remove").click(function() {
    $(this).parent().remove();
});
Run Code Online (Sandbox Code Playgroud)