Есть 2 блока. В первом блоке есть иконка, класс которой нужно менять. Во втором блоке есть 2 кнопки:
1. Добавить комментарий
2. Удалить комментарий
Эти 2 блока выводятся циклом на страницу
Как правильно обратиться к иконке по дом-дереву (менять класс) при клике на кнопку?
<span class="js-notepad-show-ads b-notepad__feedback-letter_title">
<i class="b-notepad__feedback-letter_title_icon fa fa-plus"></i>
Добавить комментарий
</span>
<div style="display: none" class="b-notepad__feedback-letter_block text_center" data-id="{$item.id}">
<textarea class="b-notepad__feedback-letter_block_textarea">{$item.comment}</textarea>
<button type="button" class="button button__blue js-received-comment" data-action="save">{'received.Сохранить'|t}
</button>
<button type="button" class="button button__red js-received-comment" data-action="remove">{'received.Удалить'|t}
</button>
</div>
Этот код не работает:
$('.js-received-comment').click(function () {
var commentIcon = $(this).parent().prev().find('.b-notepad__feedback-letter_title_icon');
console.log(commentIcon);
var commentText = $(this).prev().$('.b-notepad__feedback-letter_block_textarea');
if($(commentText).val() == '') {
$(commentIcon).removeClass('fa-exclamation').addClass('fa-plus');
} else {
$(commentIcon).removeClass('fa-plus').addClass('fa-exclamation');
}
});