jQuery ajax this.id未定义

前端之家收集整理的这篇文章主要介绍了jQuery ajax this.id未定义前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个使用 AJAX删除的项目列表.

该列表是一个简单的列表,其中div和每个div作为id,所以当该项目从数据库删除时,我返回true,然后它删除该行.

这里我的代码

HTML

<div id="row1">
<div>item1</div>
<div><a href="...">view</a></div>
<div><a id="1">delete</a></div>
</div>

JS

$('.delete').click(function () {
    if (!confirm('Are you sure you want to delete?')) {
        return false;
    }
    $.ajax({
        type: "POST",url: '/delete_record',data: 'id=' + this.id,cache: false,success: function (result) {
            if (result == 'good') {
                $('#row' + this.id).remove();
            }
        }
    });
});

由于某种原因,this.id不起作用,因为this.id是未定义的…为什么?我在我的href中有id =“1”

解决方法

你正在使用的是指ajax对象,因为在该函数中有一个新的范围.如果要访问范围范围内的变量,您必须在ajax调用之前声明它们.
$('.delete').click(function () {
    if (!confirm('Are you sure you want to delete?')) {
        return false;
    }
    var _this = this;
    $.ajax({
        type: "POST",success: function (result) {
            if (result == 'good') {
                $('#row' + _this.id).remove();
            }
        }
    });
});
原文链接:https://www.f2er.com/jquery/179395.html

猜你在找的jQuery相关文章