@alex5792
front man

Как обернуть только нужные блоки с помощью JQuery?

Добрый день, на странице https://irishwhiskey.flyingfish.ie/?s=whiskey которая отображает посты в результате поиска необходимо обернуть картинку поста в один внутренний блок, а название, текст, дата в другой блок вместе. Для решение этого вопроса я использовал .wrapAll(), но получается что в один и тот же блок оно засовывает название, текст, дату со всех постов на странице, а нужно только с одного, я думал что проблема в том что я неправильно указываю селектор, но нет. Возможно нужно как-то дописать эту функцию. Буду благодарен за любую помощь)
  • Вопрос задан
  • 50 просмотров
Решения вопроса 1
zkrvndm
@zkrvndm
Архитектор решений
Здесь не нужен jQuery достаточно функционала JavaScript. Пример:
// Записываем в переменную all_post все наши посты массивом:
all_post = document.querySelectorAll('article[id^="post-"]');

// Перебираем элементы массива по одному через цикл for:
for (i = 0; i < all_post.length; i++) {

	// Сохраняем в переменную image_post код изображения:
	image_post = all_post[i].querySelector('a').innerHTML;
	
	// Удаляем ссылку с изображением:
	all_post[i].querySelector('a').remove();
	
	// Записываем то, что осталось после удаления:
	other_info = all_post[i].innerHTML;
	
	// Записываем данные обратно уже обернув в нужные нам блоки:
	
	all_post[i].innerHTML = '<div class="image_block">'+image_post+'</div><div class="other_info">'+other_info+'</div>';

}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы