Задать вопрос
@Bolharskyi

Почему JS не видит часть HTML разметки?

Часть разметки генерирует JS при загрузке страницы. Мне нужно в отдельном файле объявить переменную, которая содержит сгенерированную разметку, но JS не находит этот участок в DOM.

Разметка упрощенная.
<div class="content">
     <div class="default">Див, прописанный в разметке</div>
     <div class="custom">Див, добавленный скриптом</div>
</div>


Прописываю в JS:
let custom = document.querySelector('.custom')

В консоли браузера console.log(custom); выдает значение null. Но если в этой же консоли введу document.querySelector('.custom') - получаю нужную разметку.

Проверил порядок подключения скриптов. Первый тот, который генерирует разметку. Второй - который ищет элемент.
Также пробовал так:
document.addEventListener('DOMContentLoaded', function() {
     let custom = document.querySelector('.custom')
     console.log(custom);
})


В этом случае вообще ничего не происходит.

Помогите, пожалуйста, разобраться. Изучаю JS сравнительно недавно, с подобным еще не сталкивался.
  • Вопрос задан
  • 428 просмотров
Подписаться 3 Простой 4 комментария
Пригласить эксперта
Ответы на вопрос 2
@lagudal
Ответ написан
Комментировать
@LD12
let content = document.querySelector(".content");

let customDiv = document.createElement('div');
customDiv.innerHTML = "Див, добавленный скриптом";
customDiv.classList.add("custom");
content.append(customDiv) ;

let custom = document.querySelector(".custom");
console.log(custom);
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
div. Ставрополь
от 40 000 до 90 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽