Как сделать так, чтобы при нажатии на стрелку выпадающего меню, сворачивался блок?
Как правильно написать код, чтобы при нажатии на <img class="list" src="str.png">, сворачивался конкретный блок, а именно <li class ="second_message">${text}</li>?
Событие нужно преобразовать через делегирование. Часть скрипта, как раз-таки написанная для выполнения этого действия:
function slideComments(scroll) {
scroll.slideToggle();
};
$('body').on('click', 'img.list', function(e) {
e.preventDefault();
let scroll = $(this).parents('.second_message')
slideComments(scroll);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="left__block__info">
<li class="first_message">${name}<img class="image" src="clear-button.png"></li>
<img class="list" src="str.png">
<div class="border"></div>
<li class="second_message">${text}</li>
</div>
Буду благодарен за поиск ошибки, спасибо.
Ответы (1 шт):
Автор решения: CbIPoK2513
→ Ссылка
$(document).on('click', 'img.list', function(){
let parent = $(this).closest('.left__block__info');
parent.find('.second_message').slideToggle();
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="left__block__info">
<li class="first_message">${name}<img class="image" src="clear-button.png"></li>
<img class="list" src="str.png">
<div class="border"></div>
<li class="second_message">${text}</li>
</div>