Не работает скрипт на сайте. Cannot read property 'innerText' of null

В общем мне нужно, чтоб в рекламный баннер подставлялся текст, который содержится вне баннера. Есть возможность разместить только html код баннера на сайт через рекламный сервис, доступа к коду сайта нет. В песочнице и на локалке все работает, а когда заливаю баннер на сайт то получаю ошибку Cannot read property 'innerText' of null.

   let div1IH = document.getElementById("user-block-toggle");
console.log(div1IH);
let div1IT = document.getElementById("user-block-toggle").innerText;
console.log(div1IT);
document.getElementById("c").innerHTML = div1IT;
<div>
    <div class="imgcont">
        <a id="user-block-toggle" data-toggle="dropdown" aria-expanded="false">
                    <p class="user-pic">  
    <img src="https://doctor.mis.sdh.com.ua/static/img/medstar/doctor-female-icon.jpg" alt="Image" class="media-box-object img-circle thumb42 med-img-border med-user-pic">
                    </p>
                    <p class="user-info">
                      <span class="user-block-name">&#1055;&#1077;&#1090;&#1088;&#1077;&#1085;&#1082;&#1086; &#1054;.&#1054;.</span>
                      <span class="user-block-role">&#1057;&#1110;&#1084;&#1077;&#1081;&#1085;&#1080;&#1081; &#1083;&#1110;&#1082;&#1072;&#1088;</span>
                    </p>
                    <em class="icon-toggle"></em>
                  </a>
        
        <div class="img" style="position:relative; width: 204px; height: 365px; background-image: url(https://medstar.ua/wp-content/uploads/2017/01/banner.jpg);"><div class="obr" id="c" style="position: absolute; left: 20px; top:20px;">Василь Васильович</div></div>
    </div>
    </div>


Ответы (1 шт):

Автор решения: Ruslan Mart

Скорей всего на момент срабатывания скрипта, user-block-toggle ещё не существует.

document.addEventListener('DOMContentLoaded', function () {
   let div1IH = document.getElementById("user-block-toggle");
   console.log(div1IH);
   let div1IT = document.getElementById("user-block-toggle").textContent;
   console.log(div1IT);
   document.getElementById("c").innerHTML = div1IT;
});

И вместо innerText лучше использовать textContent, чтобы было кроссбраузерно

→ Ссылка