Following these instructions
I am assigning this to a var element
var element = this;
Before the AJAX call this works fine and is called properly
$(element).parent('.refreshstats').html('<i class="fa fa-refresh refresh-stats fa-spin" id="'+id+'" url="'+url+'"></i>');
If I try and call it again in the success callback it does not trigger
$(element).parent('.refreshstats').html('<i class="fa fa-refresh refresh-stats" id="'+id+'" url="'+url+'"></i>');
JQUERY
$(document).on('click', '.refresh-stats', function() {
var id = $(this).attr('id');
var url = $(this).attr('url');
var element = this;
$(element).parent('.refreshstats').html('<i class="fa fa-refresh refresh-stats fa-spin" id="'+id+'" url="'+url+'"></i>');
$.ajax({
type: "POST",
url: "refresh-stats.php",
data:({id: id, url: url}),
success: function(data) {
$(element).parent('.refreshstats').html('<i class="fa fa-refresh refresh-stats" id="'+id+'" url="'+url+'"></i>');
var result = $.parseJSON(data);
if (result[0] == 'No') {
$('.indexed[data-pk="'+id+'"]').html('<span class="label label-danger">No</span>')
}
if (result[0] == 'Yes') {
$('.indexed[data-pk="'+id+'"]').html('<span class="label label-success">Yes</span>')
}
if (result[1] == 'No') {
$('.dindexed[data-pk="'+id+'"]').html('<span class="label label-danger">No</span>')
}
if (result[1] == 'Yes') {
$('.dindexed[data-pk="'+id+'"]').html('<span class="label label-success">Yes</span>')
}
if (result[2] == 'No') {
$('.removed[data-pk="'+id+'"]').html('<span class="label label-danger">No</span>')
}
if (result[2] == 'Yes') {
$('.removed[data-pk="'+id+'"]').html('<span class="label label-success">Yes</span>')
}
}
});
});