0

我正在尝试在 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');帖子之外,那么它工作正常,所以这真的是让我烦恼的请求!

4

1 回答 1

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.
    });
});
于 2013-05-23T20:26:29.077 回答