Есть div-контейнер модального окна, содержимое которого загружается через AJAX. Далее (после загрузки содержимого) определяется его высота в зависимости от которой выравнивается модальное окно.
document.getElementById('modal').innerHTML = ajax_html;
...
var height = document.getElementById('modal').clientHeight;
Функции выполняются одновременно из-за чего высота модального окна начинает определяться до загрузки в него содержимого (и обновления DOM-дерева).
Такой трюк позволяет решить проблему, но выглядит не слишком изящно в коде.
document.getElementById('modal').innerHTML = ajax_html;
...
setTimeout(function() {
var height = document.getElementById('modal').clientHeight;
...
}, 20);
Каким образом можно вызвать вторую функцию (определение высоты) только после завершения DOM-операции (innerHTML) в первой?