我有一个带有图标的锚标记,我想在点击时更改它。 所以,使用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
。
为什么我无法更改锚元素中的图标?
答案 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>');