jQuery成功回发到父容器

kyl*_*lex 0 ajax jquery parent

我有以下HTML结构:

<span class="spam">
     <button class="spam_button" value="2">Spam</button>
</span>
Run Code Online (Sandbox Code Playgroud)

我想要在父级中显示响应,但我无法理解.

$('.spam_button').live('click', function() {
    var spam_id =$(this).val();
    $.ajax({
        type: "POST",
        url: "spam.php",
        data: "spam_id="+spam_id,
        success: function(html){
            $(this).parent().html(html);                
        }
    });
});
Run Code Online (Sandbox Code Playgroud)

Mar*_*man 7

您需要捕获单击函数内的元素. $(this)成功回调内部将引用ajax()对象而不是您的对象button

$('.spam_button').live('click', function() {
    var $button = $(this);
    var spam_id =$button.val();
    $.ajax({
        type: "POST",
        url: "spam.php",
        data: "spam_id="+spam_id,
        success: function(html){
            $button.parent().html(html);                
        }
    });
});
Run Code Online (Sandbox Code Playgroud)

关于jsfiddle的代码示例.