gpt4 book ai didi

jquery - 'this'在ajax函数中代表什么

转载 作者:行者123 更新时间:2023-12-01 00:46:17 25 4
gpt4 key购买 nike

我一直在尝试在 ajax 函数中使用它来引用事件目标。但好像不是我想的那样。

例如:

$('#test').live('click',function(){
$.ajax({
type:'post',
url:
data:...,
success:function(mes){
$(this).append('mes');
}
});
});

所以这里 $(this) 并不引用 ('#test') 选择器。它指的是什么?感谢您的任何解释。

最佳答案

在成功回调中,this 指的是由 jQuery 创建的全局对象,其中包含有关 AJAX 请求的信息。如果你想获取原始 DOM 元素,你可以在闭包中捕获它:

$('#test').live('click',function() {
var $this = $(this);
$.ajax({
type: 'post',
url: '/'
data: { },
success: function(mes) {
$this.append('mes');
}
});
});

或者,如果您不喜欢闭包,您可以将其作为请求的键/值对传递:

$('#test').live('click',function() {
$.ajax({
type: 'post',
url: '/'
data: { },
myElement: $(this),
success: function(mes) {
this.myElement.append('mes');
}
});
});

这在 success 回调不是匿名函数的情况下可能很有用。

关于jquery - 'this'在ajax函数中代表什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6805859/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com