2014-01-24 48 views
0

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

$(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() 
     }); 
    }); 
}); 
+0

其中'删除()'一部分? –

+0

也许你可以使用'$(this).html('');'替换你表中的内容。 –

+0

现在我编辑了删除部分 – Venktesh

回答

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/

+0

不,我不想删除最后一个元素..我想删除每个表,当我点击它..但最后一个表没有被删除... – Venktesh

+0

在这两种情况下,我提供你的代码和工作示例。所以你有没有试过我的代码,并使其工作?如果是的话,upvote将不胜感激 –

0

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

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

尝试改变:

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

有:

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