追加前为空div

时间:2019-03-03 17:59:54

标签: javascript jquery loops append

我正在尝试将一些带有循环的html代码附加到html标签中。 但是每次我的循环刷新自身时,代码都会第二次附加。 我尝试在循环之前使用$(#nodes).empty();,但是通过这种方法,我得到了一个空白屏幕。

这是代码段

   $(document).ready(function () {
 var interval = 10000;
 var refresh = function() {
 $.getJSON("https://tankionline.com/s/status.js",function(json){
   console.log("updated");
   var nodes = Object.keys(json.nodes).length;
    for (var i = 0; i < nodes; i++) {
      var num = i + 1;
      var main = 'main.c' + num;
      $("#nodes").append(`
        <tr>
          <th scope="row">${num}</th>
          <td> ${json.nodes[main].online} </td>
          <td> </td>
          <td> </td>
        </tr>
        `)
     }
 });
 setTimeout(function() {
   refresh();
     },
   interval);
     }
   refresh();

});

1 个答案:

答案 0 :(得分:0)

我在循环之前用提到的$("#nodes").empty();进行了尝试,并且运行良好:

https://codepen.io/anon/pen/moEPrP?editors=1010

var refresh = function() {
   $("#nodes").empty();
   $.getJSON("https://tankionline.com/s/status.js",function(json){
      console.log("updated");
   ....