我是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
的最后一个孩子并且它没有删除。
我在这里做错了什么?
非常感谢提前。
答案 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();
});
答案 1 :(得分:1)
$('.upload_image').last().remove()
这应该有用。