如何在jquery创建元素后删除它们

时间:2013-07-15 21:24:44

标签: javascript jquery

我是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的最后一个孩子并且它没有删除。

我在这里做错了什么?

非常感谢提前。

2 个答案:

答案 0 :(得分:3)

您必须使用: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

答案 1 :(得分:1)

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

这应该有用。