我是 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();
});
关于javascript - jquery 创建元素后如何删除元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17664218/