2016-12-05 3 views
1

アイコンの中にアンカータグがあり、クリックするとそのタグを変更したいと思います。 ので、アヤックスを使用して、私は以下のように試してみました: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> 

を私も試した

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>'); 
     } 
    }); 
} 
JS

//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

$( '#PL-esong' +トラック)の.html( '<私のクラスは= "イオンチェックマークすべて-BTN-アイコン">'); –

+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

@スレン私たちは私たちが全体のHTMLを変更しているとき私は削除することはできません、私はタグが別の私のタグに同じコードを配置すると思う。 –

+0

はい、あなたは正しいです。彼の場合、私たちは 'i'要素のクラスだけを変更できます。しかし、彼がクラスの名前を知らない場合、クラスを反復する代わりに、我々はちょうどそれを交換することができます –

関連する問題