$(document).ready(function() {
$(".po").click(function(){
var po = $(this).text();
var dataString = 'po='+ po;
$.ajax
({
type: "GET",
url: "projectitems.php",
data: dataString,
cache: false,
success: function(html)
{
$(this).closest(".resultsItems").html(html);
}
});
});
});
行$(this).closest(".resultsItems").html(html);
究竟是什么(this)指的是什么?我试图将返回的ajax结果附加到名为.resultsItems的<td>
,但仅添加到初始点击选择器下方的那个?这可能吗?
为了说清楚我不是在问这个(这个)在jQuery中意味着什么,我在问我上面的代码中指的是什么(这个)!
答案 0 :(得分:9)
this
指的是$.ajax()
设置对象。要获得您想要的内容,您需要使用this
选项维护context
,如下所示:
$.ajax({
context: this,
type: "GET",
url: "projectitems.php",
data: dataString,
cache: false,
success: function(html) {
$(this).closest(".resultsItems").html(html);
}
});
答案 1 :(得分:3)
来自jQuery网站:
所有这些的
this
对象都会 是context
属性中的对象 传递给设置中的$.ajax
;如果 没有指定它将是一个 参考Ajax设置 他们自己。
答案 2 :(得分:0)
您可以详细了解this
关键字here
基本上,在你的情况下,它引用了window对象,因为它是在ajax调用上触发success
事件的窗口对象。
但是,您可以通过执行以下操作来捕获ajax调用上方$(".po")
的范围:
var that = this;
然后,如果您使用that.closest()...
来引用$(".po")
对象