2016-12-05 47 views
1

我有一个带有图标的锚标签,我想在点击时将其更改。 所以,使用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); 

我试图CONSOL e登录成功并且一切正确,html响应为<i class="ion-checkmark all-btn-icon"></i>,选择项目为#pl-esong234

为什么我不能改变我的锚元素中的图标?

+0

$( '#PL-ESONG' +轨道)的.html( ''); –

+0

这是简单的代码,为什么你把我跟踪后,只需使用html()方法来更改内部代码,您将要更改“A”标记的HTML而不是我标记。 –

+0

@Prateik我试过很多东西只是因为我曾与'ID =“#PL-esong234”' – NineCattoRules

回答

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>'); 
+0

我对此变得疯狂......令人难以置信的是我错过了这个 – NineCattoRules

+0

@suren当我们改变整个HTML时,我们不能删除我,我想我的标签会在另一个标签中放置相同的代码。 –

+0

是的,你是对的。在他的情况下,我们只能改变'i'元素的类。但是如果他不知道这些类的名字,那么不要遍历这些类,我们可以将它替换为 –