jquery创建后如何删除元素

How to remove elements once it was created by jquery

本文关键字:删除 元素 何删除 创建 jquery      更新时间:2023-09-26

我是JQuery的新手,我想知道为什么我的脚本不能工作。我一直在阅读API,我确实做到了它所说的,但我仍然没有得到我所期望的。请找到下面的脚本:

//To infinitely add images
$('.add_upload_image').on('click', function(){
    $('.upload_image').append('<input type="file" name="userfile[]"/><br/>');
});
//To remove the last child of the .upload_image
$('.remove_upload_image').on('click', function(){
    $('.upload_image input:last-child').remove();   
});

所以我相信你理解我想要实现的目标。但基本上,我有一个文本,上面写着"点击添加更多上传",它用.add_upload_image包装,然后当用户点击它时,它会将输入元素添加到div类.upload_image中。工作良好。然而,当用户点击包装在.remove_upload_image中的"点击删除"时,我的目标是输入的.upload_image的最后一个子项,但它没有删除。

我在这里做错了什么?

非常感谢。

您必须使用:last,而不是:last-child<br>元素是最后一个子元素):

$('.remove_upload_image').on('click', function(){
    $('.upload_image input:last').remove();   
});

您可能还应该删除<br>元素:

$('.remove_upload_image').on('click', function(){
    var el = $('.upload_image input:last');
    el.add(el.next('br')).remove();   
});

FIDDLE

 $('.upload_image').last().remove()

这应该行得通。