javascript - 使用 jQuery 删除 DOM 元素不起作用

标签 javascript jquery html

我将开门见山,我正在使用 jQuery 克隆一个 div 元素,其中有一个跨度,我绑定(bind)了一个点击事件,当触发时从 DOM 中删除刚刚克隆的部分,现在第一部分工作正常,但出于某种原因它不会在创建克隆部分后删除它们,这是我的代码,

HTML:

<div id='wrapper'>
<div id="mail">
<div class="container" id="email">
    <label for="email_address">Email address: </label>
    <div>
        <input type="text" name="email_address" id="email_address"  />
        <span class="remove"></span>
    </div>
</div>
</div>
<div class="container">
    <input type="button" id="button" name="button" value="click me" />
</div>
</div>

jQuery:

$(document).ready(function() {

        $("span.remove").click(function(){
            $(this).parents("div.container").remove();
        });


        var count = 0;

        $('#button').attr('disabled','');
        $('#button').click(function(){
            count++;
            alert(count);
            var test = $('#email.container').clone().attr('id', 'email_' + count).appendTo('#mail');
            test.children(':nth-child(2)').children(':first').attr('id', 'mail_' + count);

            if(count == 3){
                $('#button').attr('disabled','disabled');
            }

        });
});

我可能遗漏了一些小东西,但我似乎找不到问题所在。

此外,我一直在尝试找到一种更好的克隆部分的方法,以及一种在重命名它们时遍历子元素的更好方法,目前看起来有点困惑,对此有什么想法吗?

提前致谢!

最佳答案

问题是@pharalia stated .

一种解决方案是使用 .live 来绑定(bind)您的处理程序:

    $("span.remove").live('click', function(){
        $(this).parents("div.container").remove();
    });

关于javascript - 使用 jQuery 删除 DOM 元素不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3657060/

相关文章:

javascript - 如何在 Twitter API 响应中检索 [object Object] 值

javascript - 具有 setTimeOut 的 setInterval 调用函数

Jquery 表单验证 - 电话号码

javascript - 每分钟更换一次数据集

html - 如何在图像顶部显示菜单,标题在图像中间?

javascript - 将输入值与数据库 Coldfusion 中的值进行比较

html - 滚动顶部导航栏

javascript - 如何使用 jQuery(或需要时的纯 JavaScript)将 <use> 添加到内联 SVG?

javascript - 为什么我的模态框在点击后没有显示?

Javascript:未捕获的类型错误,不是构造函数