我试图创建一个函数,在调用时,它将刷新页面上的数据(将屏幕上的值更改为变量的新值)。
我认为这可以做到:
function refreshData(data) {
document.getElementById("data").innerhtml = data;
}
然后我会简单地称之为:
setInterval(function() {
time -= 1;
refreshData(time);
},1000);
但是当我测试它时,我的控制台中出现以下错误代码(并且倒计时冻结):
TypeError:document.getElementById(...)为null
我100%确定它不是一个愚蠢的HTML错误,因为当我使用以下代码时我没有问题:
document.getElementById("time").innerHTML = time;
所以实际的问题是:我如何解决这个问题和(一般知识)为什么我以前的代码失败了?
答案 0 :(得分:2)
document.getElementById("data") = data;
这是一个无效的赋值,getElementById()
返回一个DOM元素。
使用document.getElementById("time").innerHTML = time;
是有效的,因为现在您设置了time
innerHTML
的结果的getElementById()
到create schema abc123; -- create a db
use abc123; -- use it
create table users(
id int(11) primary key auto_increment,
unique_id varchar(23) not null,
name varchar(50) not null,
email varchar(100) not null,
encrypted_password varchar(80) not null,
salt varchar(10) not null,
created_at datetime null,
updated_at datetime null,
unique key(unique_id),
unique key(email)
); /** Creating Users Table **/
drop schema abc123; -- clean up drop schema
。
答案 1 :(得分:0)
document.getElementById
会向您返回element
。 无效将data
直接设置为元素而不是其属性,您需要将其值设置为innerHTML
。这就是您在第一份声明中获得 "ReferenceError: invalid assignment left-hand side"
的原因。所以使用
document.getElementById("data").innerHTML=data
这是 DEMO