У меня есть div, и я использую javascript, чтобы добавить в него новый элемент.
Оригинальный раздел:
<div id = "foo"></div>
JavaScript:
document.getElementById('foo').innerHTML = "<div id='bar'></div>";
Результат
<div id = "foo">
<div id = "bar"></div>
</div>
Но после выполнения этого кода я пытаюсь получить элемент (чтобы сосредоточиться на нем), делая
document.getElementById('bar')
Но это возвращает пустой объект.
Итак, добавление элемента с помощью innerHtml на самом деле не добавляет элемент в DOM? И как правильно добавить элемент, который можно будет получить позже с помощью getElementById?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Он работает отлично — убедитесь, что вы запускаете его в правильном порядке:
document.getElementById('foo').innerHTML = "<div id='bar'>Bar</div>";
console.info(document.getElementById("bar"));<div id = "foo">Foo</div>Я бы предложил использовать createElement и appendChild
var barDiv = document.createElement('div');
barDiv.id = 'bar';
document.getElementById('foo').appendChild(barDiv);
document.getElementById('bar').innerHTML = 'bar';
console.info(document.getElementById('bar'));<div id = "foo">Foo</div>