我正在尝试在POST成功回调中更改DOM子项的值:
$('body').on('click','.btn_like', function(e) {
e.preventDefault();
$.post($(this).attr('href'), function(data) {
$(this).children('.nb_like').text('data');
});
});
我不知道为什么这不起作用!我能想到的是this
变量在回调中可能有所不同,但我对Jquery一无所知,所以我不知道如何修复它!
如果我把$(this).children('.nb_like').text('data');
放在帖子之外,那么它的工作正常,所以这真的是让我恼火的请求!
答案 0 :(得分:2)
定义上下文变量:
$('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.
});
});