创建一个刷新页面数据的功能

时间:2015-12-29 04:15:41

标签: javascript

我试图创建一个函数,在调用时,它将刷新页面上的数据(将屏幕上的值更改为变量的新值)。

我认为这可以做到:

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;

所以实际的问题是:我如何解决这个问题和(一般知识)为什么我以前的代码失败了?

2 个答案:

答案 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