我遇到了Uncaught TypeError:无法在我的控制台中设置错误消息的属性'innerText',其中错误只是无限期地上升。它与我正在运行的倒计时到特定日期集的脚本有关。
我尝试删除脚本来删除错误。除此之外,我不确定到底出了什么问题。除了与target.innerText = "Expired"
行有关。
"use strict";
timer = function timer(target, date) {
var target = document.querySelector(target);
var countDownDate = new Date(date).getTime();
setInterval(function () {
var now = new Date().getTime();
var distance = countDownDate - now;
var days = Math.floor(distance / (1000 * 60 * 60 * 24));
var hours = Math.floor(distance % (1000 * 60 * 60 * 24) / (1000 * 60 * 60));
var minutes = Math.floor(distance % (1000 * 60 * 60) / (1000 * 60));
var seconds = Math.floor(distance % (1000 * 60) / 1000);
target.innerText = days;
if (distance < 0) {
target.innerText = "Expired";
}
}, 1000);
};
timer("#timer1", "Jan 01, 2019 11:59:59");
timer("#timer2", "Jan 02, 2019 11:59:59");
timer("#timer3", "Jan 03, 2019 11:59:59");
任何人和所有帮助和建议,将不胜感激。
谢谢
编辑:
这是html的一部分
<div class="container">
<div class="dates-container">
<div class="dates-wrapper">
<p class="date"><strong>Jan 01</strong> <span class="days-remaining"><span id="timer1"></span> Days Remaining</span></p>
<div class="divider"></div>
</div>
<div class="upcoming-dates">
<p class="date"><strong>Jan 02</strong> <span class="days-rem"> . <span id="timer2"></span> Days Remaining</span></p>
<div class="divider"></div>
</div>
</div>
</div>
它可以在主要index.html上运行,并且我尝试通过提供元素和“ timerX”的ID将倒计时添加到其他页面-错误直到我将倒计时添加到第二页才显示出来。 / p>
再次感谢您的帮助,我觉得自己忽略了一些简单的事情,但我不知道。
答案 0 :(得分:1)
行
var target = document.querySelector(target);
绝对将var target
设置为null。
这就是解释器告诉你的。
我认为找不到#timer3
。