javascript - Jquery 尝试删除动态创建的元素

标签 javascript jquery html

我正在使用 Jquery 动态地将元素添加到我的表单中,然后在必要时删除它们,当仅添加一个表单时我可以执行此操作,但是我的下一个表单允许用户添加成分并添加数量元素与它,我无法弄清楚如何使用按钮删除这两个元素。我已经创建了一个 JSfiddle 如果有帮助的话那就太好了。

http://jsfiddle.net/w5PKZ/

$(document).ready(function() {
    var addDiv2 = $('#addIngredient');
    var i = $('#addIngredient p').size() + 1;

    $('#addNewIngredient').on('click', function () {
        $('<p> <input id="step_' + i + '" size="40" name="ingredient[]' + '" type=text" value="" placeholder="Ingredient" /> </p>').appendTo(addDiv2);
        $('<p> <input id="step_' + i + '" size="40" name="quantity[]' + '" type=text" value="" placeholder="Quantity" /><a href="#" class="remNew2">Remove</a> </p>').appendTo(addDiv2);
        i++;
        return false;
    });

    $(document).on('click','.remNew2', function () {
        if (i > 3) {
            $(this).parents('p').remove();
            i - 2;
        }
        return false;
    });

});

最佳答案

JSFIDDLE DEMO

在单个段落中添加动态元素 <p>而不是 3 个不同的段落。这样您就可以保持事件处理程序不变。

$('#addNewIngredient').on('click', function () {
    $('<p> <input id="step_' + i + '" size="40" name="ingredient[]' + '" type=text" value="" placeholder="Ingredient" /><input id="step_' + i + '" size="40" name="quantity[]' + '" type=text" value="" placeholder="Quantity" /><a href=#" class="remNew2"> Remove </a> </p> ').appendTo(addDiv2);
    i++;
    return false;
});

关于javascript - Jquery 尝试删除动态创建的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20330291/

相关文章:

javascript - 如何更改输入卡号的格式?

jquery - 我如何处理 Jquery 中的选中事件和单击事件

python - 我应该使用 Screen Scrapers 还是 API 从网站读取数据

c# - 如何在控制台应用程序中使用 Entity Framework 从数据库填充 html 中的字段?

jquery - 如何避免失去对 anchor 标签点击的关注?

javascript - 我不确定是否从 .js 脚本正确调用 .html 和 .json 文件

javascript - 如何使用算术更改 JSON 文件的值?

javascript - Object.create 而不是构造函数进行继承

javascript - 如何使用 CasperJS 打开多个 URL 并将多个链接捕获为图像

javascript - 如何通过 javascript 在浏览器控制台中用不同的值替换 <a> 标签?