如何更改AJax响应上的图标?

时间:2016-12-05 10:56:38

标签: javascript jquery ajax

我有一个带有图标的锚标记,我想在点击时更改它。 所以,使用Ajax我尝试如下:

HTML

<a id="#pl-esong234" class="social-button-song" title="Add in playlist" onclick="addInPlaylistSongs(234, 1)">
  <i class="ion-plus all-btn-icon"></i>
</a>

JS

function addInPlaylistSongs(track, id) {
    $.ajax({
        type: "POST",
        url: baseUrl+"/requests/manage_playlists.php",
        data: "id="+track+"&playlist="+id+"&type=4&token_id="+token_id, 
        cache: false,
        success: function(html) {
            $('#pl-esong'+track).append('<i class="ion-checkmark all-btn-icon"></i>');
        }
    });
}

我也试过了:

//2nd try
$('#pl-esong'+track+' i').after('<i class="ion-checkmark all-btn-icon"></i>').remove();

//3rd try
$('#pl-esong'+track+' i').after(html).remove();

//4th try
$('#pl-esong'+track+' i').replaceWith(html);

我尝试控制登录成功,一切正确,html响应为<i class="ion-checkmark all-btn-icon"></i>,选择项为#pl-esong234

为什么我无法更改锚元素中的图标?

1 个答案:

答案 0 :(得分:4)

从ID中删除hash。它由选择器用于查找匹配的标记。

# - 用于按ID查找。 . - 按类

查找的用户
<a id="pl-esong234" class="social-button-song" title="Add in playlist" onclick="addInPlaylistSongs(234, 1)">
  <i class="ion-plus all-btn-icon"></i>
</a>

并致电html()

$('#pl-esong'+track+' i').html('<i class="ion-checkmark all-btn-icon"></i>');