Jquery:更改post回调中的子属性
我正在尝试更改POST success回调中DOM子级的值:Jquery:更改post回调中的子属性,jquery,dom,Jquery,Dom,我正在尝试更改POST success回调中DOM子级的值: $('body').on('click','.btn_like', function(e) { e.preventDefault(); $.post($(this).attr('href'), function(data) { $(this).children('.nb_like').text('data'); }); }); 我不知道这为什么不起作用!我所能想到的是,这个变量在回调中可能不同
$('body').on('click','.btn_like', function(e) {
e.preventDefault();
$.post($(this).attr('href'), function(data) {
$(this).children('.nb_like').text('data');
});
});
我不知道这为什么不起作用!我所能想到的是,这个
变量在回调中可能不同,但我对Jquery一无所知,所以我不知道如何修复它
如果我把
$(this).children('.nb_-like').text('data')代码>在帖子之外,那么它工作得很好,所以这真的是让我恼火的请求 定义上下文变量:
$('body').on('click','.btn_like', function(e) {
e.preventDefault();
var that = $(this);
$.post($(this).attr('href'), function(data) {
that.children('.nb_like').text('data'); <--This appends the string of "data", remove the quotes if you want to append your callback data.
});
});
$('body')。on('click','btn_like',函数(e){
e、 预防默认值();
var,该值=$(此值);
$.post($(this.attr('href'),函数(数据){
.children('.nb_like').text('data');很好,它工作了!你能解释一下为什么$(this)不能在回调中使用吗?在你的post回调中,$(this)
现在指的是$.post
,在post调用之前定义一个新变量(并分配它$(this)
,您可以保留$(this)
的原始上下文并使用它。