无法删除Jquery中的最后一个附加元素

时间:2014-01-24 12:39:16

标签: javascript jquery html

我使用append()方法追加数据,并使用remove()删除每个元素。但是,我无法删除列表中的最后一个元素。

$(document).ready(function () {
    $(".add_cart").click(function () {
        var id = this.id;
        $(this).prop("disabled", true);
        $(this).val("Item Already in Cart");
        $.get("cart.php", {
            "id": id
        }, function (data) {
            $("#sam").append("<table class='tables'><tr><td>" + data + "</td><td><input class='remove' id='" + id + "' type='button' value='Remove'></td></tr></table>");
        });
        $(".tables").click(function () {
            $(this).remove()
        });
    });
});

3 个答案:

答案 0 :(得分:0)

要从列表中删除最后一个元素,请使用:

$(selectAllListElements).last().remove();

答案 1 :(得分:0)

您可以使用last-child

我认为,当你点击.tables元素

时,你想要删除最后一个元素
$(document).ready(function () {
    $(".add_cart").click(function () {
        var id = this.id;
        $(this).prop("disabled", true);
        $(this).val("Item Already in Cart");
            $("#sam").append("<table class='tables'><tr><td>dasdasdas</td><td><input class='remove' id='3' type='button' value='Remove1'></td></tr><tr><td>dasdasdas</td><td><input class='remove' id='4' type='button' value='Remove4'></td></tr><tr><td>dasdasdas</td><td><input class='remove' id='5' type='button' value='Remove5'></td></tr></table>");
            $(".tables").click(function () {
                $(".tables tr:last-child").remove()
            });
    });
});

这是一个工作小提琴: http://jsfiddle.net/8c9NZ/

如果要删除每个单击的元素,可以使用;

$(document).ready(function () {
    $(".add_cart").click(function () {
        var id = this.id;
        $(this).prop("disabled", true);
        $(this).val("Item Already in Cart");
            $("#sam").append("<table class='tables'><tr><td>dasdasdas</td><td><input class='remove' id='3' type='button' value='Remove1'></td></tr><tr><td>dasdasdas</td><td><input class='remove' id='4' type='button' value='Remove4'></td></tr><tr><td>dasdasdas</td><td><input class='remove' id='5' type='button' value='Remove5'></td></tr></table>");
            $(".remove").click(function () {
                $(this).closest('tr').remove()
            });
    });
});

这是一个工作小提琴: http://jsfiddle.net/xyQtU/1/

答案 2 :(得分:0)

尝试更改:

 $(".tables").click(function () {
            $(this).remove()
        });

with:

   $(".tables").on('click' , function () {
        $(this).remove()
    });