Записать title во все div с определённым классом
Стоит задача получить title страницы и записать всё в div'ы с определённым классом. Я написал вот такой код:
var pageTitle = document.title; // получаем title
document.querySelector('.this_page_title').innerHTML = pageTitle; // Записываем в нужный блок
Но он записывает только в 1 div, а остальные оставляет пустыми. Вариант с querySelectorAll не записывает вообще. Не могу понять, где ошибка?
Ответы (1 шт):
Автор решения: UModeL
→ Ссылка
Если код ниже НЕ сработает, то причины может быть две:
- Отсутствие заголовка (например, как в сниппетах на этом сайте);
- Вы пытаетесь получить title родительского окна из
iframeс другим доменом.
Решение первой причины очевидно - добавить заголовок.
document.title = '567';
// Получаем title
let pageTitle = document.title;
// Создаём массив на основе полученной коллекции элементов и перебираем его
[...document.querySelectorAll('.this_page_title')].forEach((el) => {
// Записываем в нужный блок
el.innerHTML = pageTitle;
});
<div class="this_page_title">1</div>
<div class="this_page_title">2</div>
<div class="this_page_title">3</div>
Вторая причина, из соображений безопасности, либо вовсе нерешаема, либо сильно ограничена в применении.