Прежде чем я узнаю какое-то единство, я захотел создать простую игру Javascript из своих собственных знаний. Итак, я начал экспериментировать с таймером, и это сработало. Затем я хотел добавить элемент div в свой HTML-документ и изменить его текст в ответ на таймер. Так что я написал этот код:Невозможно установить свойство innerHTML нулевого значения на дочерний дочерний элемент (div)
var counter = 0;
var seconds = 0;
$(document).ready(function(e) {
var element = document.createElement("div");
element.id = "text2";
document.getElementById("canvas").appendChild(element);
function gameActions() {
document.getElementById("canvas").innerHTML = seconds;
if (seconds == 1) document.getElementById("text2").innerHTML = "second";
else document.getElementById("text2").innerHTML = "seconds";
counter++;
if (counter % 50 == 0) {
seconds++;
}
}
setInterval(gameActions, 20);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="canvas" class="imgcenter" style="width: 500px; height: 400px; background-color: #eeffee;">
</div>
В основном я намеревающийся изменить текст «родительского» DIV, который отображает количество секунд, прошедших после того, как страница HTML загружена полностью. Но до этого я пытаюсь создать div
с id text2
, чтобы добавить его в родительский div. Этот div должен отображать слово «секунды» в зависимости от времени (в основном отображать «секунда», когда переменная секунд равна 1, и «секунды», если нет)
Где «imgcenter» - это только CSS, чтобы указать автоматическую маржу. Ошибка в том, что всякий раз, когда я бегу это на Chrome, я получаю:
Uncaught TypeError: Cannot set property 'innerHTML' of null
Я правильно считать DIV не добавляется? Я пропустил шаг в добавлении? Пожалуйста, дайте мне знать, что вы думаете, что ошибка, спасибо
могли бы вы воспроизвести проблему в скрипку? – Lal