首页 > 解决方案 > 收到 AJAX 响应后,在具有相同类的其他元素中更改单击元素的 html 值

问题描述

我对 JQuery 非常陌生。一旦收到 Ajax 响应,我似乎无法解决需要更改元素的 html 的功能。该元素也与其他元素共享相同的类。

HTML:

<div id="custManage">
    <span class="blockUnblock">Block</span>
    <span class="blockUnblock">Unblock</span>
    <span class="blockUnblock">Block</span>
</div>

查询:

$('#custManage .blockUnblock').on('click', function (e) {
    e.preventDefault();
    // Some Code
    $.ajax({
            // Some Code
            success: function (response){
                // I am able to receive AJAX response here
                $(this).text('Changed'); // Clicked span
                $(this).html('Changed'); // This also doesn't work
            }
    });
});

任何帮助,将不胜感激。

标签: jqueryajax

解决方案


$(this)进入成功函数后,值会发生变化。

尝试这样做:

$('#custManage .blockUnblock').on('click', function (e) {
    e.preventDefault();
    $this = $(this);
    // Some Code
    $.ajax({
            // Some Code
            success: function (response){
                // I am able to receive AJAX response here
                $this.text('Changed');
            }
    });
});

推荐阅读