Javascript 创建一个函数来刷新页面上的数据
我试图创建一个函数,当调用该函数时,它将刷新页面上的数据(将屏幕上的值更改为变量的新值) 我认为这可以做到:Javascript 创建一个函数来刷新页面上的数据,javascript,Javascript,我试图创建一个函数,当调用该函数时,它将刷新页面上的数据(将屏幕上的值更改为变量的新值) 我认为这可以做到: function refreshData(data) { document.getElementById("data").innerhtml = data; } 然后我会简单地这样称呼它: setInterval(function() { time -= 1; refreshData(time); },1000); 但是当我测试控制台时,我在控制台中得到以下错误代码(并且倒计时冻结)
function refreshData(data) {
document.getElementById("data").innerhtml = data;
}
然后我会简单地这样称呼它:
setInterval(function() {
time -= 1;
refreshData(time);
},1000);
但是当我测试控制台时,我在控制台中得到以下错误代码(并且倒计时冻结):
TypeError:document.getElementById(…)为空
我100%确信这不是一个愚蠢的HTML错误,因为当我使用以下代码时,我没有问题:
document.getElementById("time").innerHTML = time;
因此,实际的问题是:我如何解决这个问题,以及(就一般知识而言)我以前的代码为什么失败?
document.getElementById
返回元素。Its无效直接将数据
设置为元素而不是其属性,并且需要将其值设置为其innerHTML
。这就是为什么您在第一条语句中得到了“ReferenceError:invalid assignment left-side”
。所以使用
document.getElementById("data").innerHTML=data
这里是
这是一个无效的赋值,getElementById()
返回一个DOM元素
使用
document.getElementById(“时间”).innerHTML=time
之所以有效,是因为现在您将getElementById()
的结果的time
设置为innerHTML
,这是什么?document.getElementById(“数据”)document.getElementById(“数据”)=数据
应该是document.getElementById(“数据”).innerHTML=data
;谢谢那是个愚蠢的错误。。。但是我现在得到了一个新的错误代码:(您的数据看起来像什么,数据元素是什么类型的?@LearningJS您缺少一个HTML DOM上带有[id=“data”]
的元素。非常感谢帮助,但现在我得到了一个新的错误代码…TypeError:document.getElementById(…)这是因为元素
不存在于DOM
中。请确保html
中有该元素
,因此如果我理解,则无法使函数每次调用时都获得不同的Id。
document.getElementById("data") = data;