javascript - jquery 创建元素后如何删除元素

标签 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 的最后一个子级,并且它没有删除。

我在这里做错了什么?

提前非常感谢。

最佳答案

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

关于javascript - jquery 创建元素后如何删除元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17664218/

相关文章:

java - Cookie读写问题-jQuery转JSP

javascript - 在 TypeScript 函数内使用外部变量。

javascript - JS - 如何将所有键转换为其值(从对象)

javascript - CompositeView 和 ItemView,如何处理两个 View 和模板?

相关 DOM 元素的 Javascript 命名约定?

javascript - 按钮上的 jQuery 单击查找 <li> 的标签

javascript - 在特定上下文中执行通过 .ajax 加载的 &lt;scripts>

javascript - angularjs 部分 View 中的内部 javascript 不起作用?

javascript - 是否等待 .catch 完成

javascript - 如何使用 HTML 绘制数字线