jquery获取函数后的淡出

时间:2016-05-03 18:30:52

标签: javascript jquery

我已经在LI中使用removeFile类进行了跨度,单击时,它应该使用jQuery $.get删除文件,然后成功删除后,它应该{{1}包含LI。我无法弄清楚为什么这不起作用,我可以让它提醒(数据)但不分配给变量或执行fadeout命令。

fadeOut()

2 个答案:

答案 0 :(得分:1)

在ajax内部回调函数this是指jqXHR对象,因此您需要在ajax调用之外将其定义为变量或将其设置为context option

$('#files').on('click', '.removeFile', function (event) {
    event.preventDefault();
    var $this = $(this);
    var fileUrl = $this.data('file-url');
    if (confirm('Are you sure you want to delete this file?')){
        $.get('process.php', {'remove-file':fileUrl}, function(data){
            if(data=='true'){
                $this.parent().fadeOut();
            } 
        });
    }
}); 

答案 1 :(得分:0)

this中的

get()未引用.removeFilethisxhr的回调中引用get()个对象。

$('#files').on('click', '.removeFile', function (event) {
    event.preventDefault();
    var li = $(this).parent(); //added this line
    var fileUrl = $(this).data('file-url');
    if (confirm('Are you sure you want to delete this file?')) {
        $.get('process.php', { 'remove-file': fileUrl }, function (data) {
            if (data == 'true') {
                li.fadeOut(); //changed this line
            }
        });
    }
});