javascript - jQuery 删除 ajax 成功的元素

标签 javascript jquery

我有<button>带有 ajax,并希望在成功请求后将其删除。

<script type="text/javascript">
    $(".approve").click(function(){
        var el, image_id =  $(this).data('image-id');
        $.ajax({
            type: "PATCH",
            dataType: "json",
            data: { "approved": "True"},
            url: "/ml/api/image/" + image_id + "/?format=json",
            success: function(data){
                $(this).remove();
            }
        });
    });
</script>

但这行不通......

最佳答案

成功回调中的上下文与单击事件的上下文不同,这意味着 this 不再引用按钮 DOM 元素。只需再次选择该按钮,它就会将其删除:

$(".approve").click(function(){
    var el = $(this), image_id =  $(this).data('image-id');
    $.ajax({
        type: "PATCH",
        dataType: "json",
        data: { "approved": "True"},
        url: "/ml/api/image/" + image_id + "/?format=json",
        success: function(data){
            el.remove();
        }
    });
});

关于javascript - jQuery 删除 ajax 成功的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14546749/

相关文章:

javascript - 如何利用 jQuery 来检测带有动态生成的 ID 的选择标签上的变化并更改选择的选项

javascript - jQuery 从 UL 层次结构中删除类,除了

javascript - HTML5 MP3 的持续时间有时有效

javascript - "confirm"模态 jquery 的奇怪行为

javascript - 使用 jQuery 检查 <li> 标签上是否已经存在一个值

jquery - 图像不会随 div 容器/窗口改变大小

javascript - ajax中的日期格式

javascript - 如果 IE 不支持 Array.from() 怎么办?

javascript - 向数组添加和删除复选框值不起作用

javascript - 使用 jQuery 获取类名