У меня есть довольно простой HTML, фотография и текст, но я хочу поместить между ними элемент javascript. Этот элемент представляет собой таймер обратного отсчета и может быть вставлен с помощью внешнего JavaScript.
У меня есть код с HTML, встроенным css и javascript здесь: https://codepen.io/thomaskwelker/pen/xjwQPj
<div class = "kanye-wrapper">
<div class = "kanye-photo">
<img src = "https://vignette.wikia.nocookie.net/star-clan/images/9/90/Kanye.png">
</div>
<div class = "kanye-timer">
<script src = "js/kanye.js"></script>
</div>
<div class = "kanye-link">
<a href = "https://google.com">See why</a>
</div>
</div>
Я часами гуглил и пробовал разные вещи. Не могли бы вы сказать мне, как я могу получить таймер javascript внутри div "kanye-timer"?
Почему ты хочешь это сделать? Чего вы надеетесь достичь? Что именно не работает? Сообщается об ошибках?
Тот факт, что вы помещаете свой скрипт в div, не означает, что туда собираются добавленные элементы.



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


Вместо $(document.body).append($r.cvs); попробуйте $('.kanye-timer').append($r.cvs);
Это говорит JS добавить таймер к div, а не просто поместить его в конец документа.
Ваш код инициализации создает объект холста, который никогда не прикрепляется к какому-либо документу DOM. Фрагмент JavaScript не обязательно должен быть включен в строку. Но у вас может быть контейнер, в котором вы хотите, чтобы холст был:
<div class = "kanye-wrapper">
<div class = "kanye-photo">
<img src = "https://vignette.wikia.nocookie.net/star-clan/images/9/90/Kanye.png">
</div>
<div class = "kanye-timer" id = "timercontainer">
</div>
<div class = "kanye-link">
<a href = "https://google.com">See why</a>
</div>
</div>
<script src = "js/kanye.js"></script>
Теперь в вашем kanye.js напишите что-нибудь вроде этого:
document.getElementById('timercontainer').appendChild($r.cvs);
Конечно, это не переносимый код. Как только вы заставите его работать, вы можете передать идентификатор контейнера в качестве параметра.
Добавление происходит в его коде в строке 32 `$ (document.body) .append ($ r.cvs);` проблема в том, что он должен создать параметр, который является конкретным элементом, к которому он хочет добавить, а не document.body. Кажется, op предполагает, что расположение скрипта определяет, куда добавляются элементы.
Спасибо, что указали на это. Ваш комментарий мог прямо указать на его недоразумение. Также очень сомнительно, будет ли на этом этапе полностью материализован «document.body». Это, конечно, не готово к DOM.
Пожалуйста, объясните, почему то, что показано, не работает и как вы определили, что это не работает. Уделите несколько минут, чтобы внимательно прочитать Как спросить