NooBiToo
@NooBiToo

Как сделать изменение для всех элементов?

Ссылка на структуру: https://jsfiddle.net/o28r7cc6/
Есть структура:
1) дата
2) заголовок
3) анонс
Нужно сделать следующее:
1) убрать заголовок
2) в конце анонса добавлять ссылку на "Подробнее"

Решил следующим образом, перенес заголовок в конец анонса и изменил текст заголовка на "Подробнее", но это сработало лишь для первого элемента
Как применить для всех элементов?
  • Вопрос задан
  • 189 просмотров
Решения вопроса 2
0xD34F
@0xD34F Куратор тега JavaScript
document.querySelectorAll('.news-item_title').forEach(n => {
  n.querySelector('.tit_link').textContent = '[Подробнее]';
  n.closest('.news-block_item').append(n);
});

или (этот способ перебора и предыдущий не взаимозаменяемые - если for...of можно без проблем комбинировать с querySelectorAll, то чтобы тут использовать forEach, придётся коду получения элементов добавить обёртку - [...document.getElementsByClassName('...')]):

for (const n of document.getElementsByClassName('tit_link')) {
  n.innerText = '[Подробнее]';
  n.parentNode.parentNode.appendChild(n.parentNode);
}

или

const items = document.querySelector('.news-block_wrap').children;
for (let i = 0; i < items.length; i++) {
  items[i].children[1].children[0].innerHTML = '[Подробнее]';
  items[i].insertAdjacentElement('beforeend', items[i].children[1]);
}
Ответ написан
Stalker_RED
@Stalker_RED
Прячем заголовок при помощи css

Для каждого анонса (.each())
Добавляем ссылку "подробнее"
https://jsfiddle.net/o28r7cc6/2/
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы