Попробуйте использовать attr () вместо prop () :
$(".desk-top-favorite-field").on("change", function() {
if ($(this).is(':checked')) {
$(this).siblings('.desk-top-favorite-icon').attr('data-content', 'Add to <a href="#" class="link">favorites</a>');
} else {
$(this).siblings('.desk-top-favorite-icon').attr('data-content', 'Remove from <a href="#" class="link">favorites</a>');
}
});
Вы также, кажется, забыли добавить data-toggle = "popover"
к html, который необходим для создания поповера
<div class="checkbox">
<input class="favorites-field desk-top-favorite-field" hidden id="favorites-check" type="checkbox">
<label style="padding: 0;" data-toggle="popover" data-content="Add to favorites" class="favorites-icon desk-top-favorite-icon ttip-top" for="favorites-check"><i aria-hidden="true" class="fa fa-heart"></i></label>
</div>
Я не на 100% уверен в вашей цели, но я заметил одну вещь: поповер не будет отображаться, если флажок снят, а ваш код не будет отображать ссылку «Добавить к». Чтобы popover всегда был открыт, попробуйте добавить этот код:
$('.desk-top-favorite-icon')
.popover('show')
.off('click');