Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript表刷新无jquery_Javascript_Html_Html Table - Fatal编程技术网

Javascript表刷新无jquery

Javascript表刷新无jquery,javascript,html,html-table,Javascript,Html,Html Table,我正在使用javascript而没有jquery实现。 目前,我正在填充一个表,并希望在添加新数据时刷新该表,而无需重新加载新页面。到目前为止,刷新工作正常,但它会不断创建新表。如何在不不断添加新表的情况下实现表本身的刷新 代码 var schedule = [ { date: "Monday, 9:00am", team1: "Chasing", team1Score: "13", team2: "Amsterdam Money Gang", team2Score: "9"}, { date

我正在使用javascript而没有jquery实现。 目前,我正在填充一个表,并希望在添加新数据时刷新该表,而无需重新加载新页面。到目前为止,刷新工作正常,但它会不断创建新表。如何在不不断添加新表的情况下实现表本身的刷新

代码

var schedule = [
{ date: "Monday, 9:00am", team1: "Chasing", team1Score: "13", team2: "Amsterdam Money Gang", team2Score: "9"},
{ date: "Monday, 9:00am", team1: "Boomsquad", team1Score: "15", team2: "Beast Amsterdam", team2Score: "11"},
];

function run(){    
var len = schedule.length;
var table = document.getElementById('table1');

for (var i=0; i < len; i++) {
    var tr = document.createElement('tr');
    var s = schedule[i];

    var td = document.createElement('td');
    td.innerHTML = s.date;
    tr.appendChild(td);

    td = document.createElement('td');
    td.innerHTML = s.team1;
    tr.appendChild(td);

    td = document.createElement('td');
    td.innerHTML = s.team1Score;
    tr.appendChild(td);

    td = document.createElement('td');
    td.innerHTML = s.team2;
    tr.appendChild(td);

    td = document.createElement('td');
    td.innerHTML = s.team2Score;
    tr.appendChild(td);

    table.appendChild(tr);
}}

setInterval(function(){
    run() // this will run after every 5 seconds
}, 2000);
var计划=[
{日期:“星期一,上午9:00”,第1组:“追逐”,第1组:“13”,第2组:“阿姆斯特丹金钱帮”,第2组“9”},
{日期:“星期一,上午9:00”,第1组:“婴儿队”,第1组“15”,第2组“阿姆斯特丹野兽”,第2组“11”},
];
函数run(){
var len=进度表长度;
var table=document.getElementById('table1');
对于(变量i=0;i
如果您
在开发模式下检查
页面(按F12键),您可以看到
没有添加新表
,实际上您要做的是首先获得
,然后开始向其中添加新行,但表中也有旧行。这就是为什么您多次看到相同的行。要解决这个问题,首先你必须清理桌子

您也可以每次都获取表,但没有必要这样做,这样做可以简单地增加浏览器上的负载,因为每次
JavaScript
都会遍历每个
DOM
来查找您的
ID

只是做了以下更改来克服这个问题

var table = document.getElementById('table1');

var schedule = [
{ date: "Monday, 9:00am", team1: "Chasing", team1Score: "13", team2: "Amsterdam Money Gang", team2Score: "9"},
{ date: "Monday, 9:00am", team1: "Boomsquad", team1Score: "15", team2: "Beast Amsterdam", team2Score: "11"},
];

function run(){    
var len = schedule.length;
table.innerHTML="";

for (var i=0; i < len; i++) {
    var tr = document.createElement('tr');
    var s = schedule[i];

    var td = document.createElement('td');
    td.innerHTML = s.date;
    tr.appendChild(td);

    td = document.createElement('td');
    td.innerHTML = s.team1;
    tr.appendChild(td);

    td = document.createElement('td');
    td.innerHTML = s.team1Score;
    tr.appendChild(td);

    td = document.createElement('td');
    td.innerHTML = s.team2;
    tr.appendChild(td);

    td = document.createElement('td');
    td.innerHTML = s.team2Score;
    tr.appendChild(td);

    table.appendChild(tr);
}}

setInterval(function(){
    run() // this will run after every 5 seconds
}, 2000);
var table=document.getElementById('table1');
var计划=[
{日期:“星期一,上午9:00”,第1组:“追逐”,第1组:“13”,第2组:“阿姆斯特丹金钱帮”,第2组“9”},
{日期:“星期一,上午9:00”,第1组:“婴儿队”,第1组“15”,第2组“阿姆斯特丹野兽”,第2组“11”},
];
函数run(){
var len=进度表长度;
表.innerHTML=“”;
对于(变量i=0;i

快乐编码…

您想要从服务器获得新的数据/记录?如果您不想要新行,为什么要在函数中添加它们?现在我已经从服务器传递了json,var计划是我的JSONY示例。您还可以做一些变通,比如在添加新行之前先清除表,如
table.innerHTML=“”@HankyPanky我的错误我的意思是刷新时,它会在另一个表下创建一个新表,