javascript - Jquery:ajax成功后删除DOM元素

标签 javascript jquery ajax dom

我在 ajax 成功后尝试删除元素时遇到问题..

这是我的 ajax 代码:

verifyRequest.denyUser = function(requestId,element){
    $.ajax({
        url: loaderURL+'idverified/denyRequest',
        dataType:"json",
        type:"post",
        data:{
            id:requestId,   
        },
        success: function(data){
            element.remove();
        }   
    }); 
}

并监听这个事件:

$("#requestUsers ul li .remove").click(function(){
    var id = $(this).attr("data-value"),
        element = $(this).parent('li');

        verifyRequest.denyUser(id,element);     
});

问题是这样的 - ajax 工作正常,但是当涉及到“成功:”部分时 它不会删除元素。

我试过这段代码并且它有效但是这不符合我的需要:

$("#requestUsers ul li .remove").click(function(){
    var id = $(this).attr("data-value"),
        element = $(this).parent('li');

        verifyRequest.denyUser(id,element);
            element.remove();//and it did worked
});

有人可以解释为什么会这样吗?谢谢

最佳答案

存储引用然后删除它。这样:

verifyRequest.denyUser = function(requestId,element){
var t = $(element);
$.ajax({
    url: loaderURL+'idverified/denyRequest',
    dataType:"json",
    type:"post",
    data:{
        id:requestId,   
    },
    success: function(data){
        $(t).remove();
    }   
}); 
}

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

相关文章:

php - AJAX URL 除非在根目录中否则不起作用

javascript - 使用 React Router 5 时遇到问题

javascript - 如何连接 document.getElementById 中的数据

jquery - 如何检查 jquery 中 div 的显示(无/ block )?

javascript - 通过jquery ui slider 控制html5 Canvas 动画速度

javascript - php 文件上的安全 angularjs 代码 ajax 请求

javascript - 如何 jquery 禁用特定控件上的主题?

javascript - 尝试从git存储库中提取json格式的数据

jquery - Bootstrap 将默认导航栏转换为固定导航栏

javascript - 将 JavaScript 传递给 Session 变量