2016-12-05 2 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 log on success и все правильно, html-ответ <i class="ion-checkmark all-btn-icon"></i>, а элемент select - #pl-esong234.

Почему я не могу изменить значок внутри моего элемента привязки?

+0

$ ('# пл-esong' + трек) .html ('<я класс = "ион-галочка все-БТН-значок">'); –

+0

это простой код, почему вы положили i после трека, просто используйте метод html() для изменения внутреннего кода, вы собираетесь изменить html тега «A», а не тега. –

+0

@Prateik Я пробовал много вещей только потому, что у меня был надзор с 'id =" # pl-esong234 "' – NineCattoRules

ответ

4

Удалите 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 мы не можем удалить i, когда мы меняем весь html, я думаю, что тег поместит тот же код в другой тег i. –

+0

Да, вы правы. В его случае мы можем изменить класс элемента 'i'. Но если он не знает имена классов, поэтому вместо повторения классов мы можем просто заменить его –

Смежные вопросы