Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.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_Jquery - Fatal编程技术网

Javascript jQuery-根据时间删除列表项

Javascript jQuery-根据时间删除列表项,javascript,jquery,Javascript,Jquery,我目前有一个页面,其中包含一个无序列表。该列表最初是通过查询my db来填充的,每个列表项都有一个时间戳和文本。使用javascript和AJAX,如果有新数据输入,该页面将每隔10秒动态更新无序列表 如果列表项的时间超过24小时,从无序列表中删除列表项的最简单和最有效的方法是什么 我倾向于做以下事情: 在js文件中,将无序列表中的所有列表项加载到一个数组中 在js调用获取数据的过程中,如果数据返回,也将这些项添加到数组中 每次调用getData()函数时,也要调用removeData()函数,

我目前有一个页面,其中包含一个无序列表。该列表最初是通过查询my db来填充的,每个列表项都有一个时间戳和文本。使用javascript和AJAX,如果有新数据输入,该页面将每隔10秒动态更新无序列表

如果列表项的时间超过24小时,从无序列表中删除列表项的最简单和最有效的方法是什么

我倾向于做以下事情:

  • 在js文件中,将无序列表中的所有列表项加载到一个数组中
  • 在js调用获取数据的过程中,如果数据返回,也将这些项添加到数组中
  • 每次调用getData()函数时,也要调用removeData()函数,该函数将删除所有超过24小时的项 此外,我在尝试找出将列表项添加到javascript数组的正确方法时遇到了问题。以下是我一直尝试将所有列表项添加到数组中的代码:

      var list = new Array();
      $(".listname").each(function (i){
        list.push($(this));
      });
    
    要从数组中删除列表项,我希望使用:

    list.pop();
    

    运行getData时导出元素的方法似乎很合理。您应该使用push将元素追加到数组的末尾,但是pop只是从数组的末尾提取元素,这可能不是正确的顺序。Javascript数组的行为类似于堆栈而不是队列。您可能希望按照建议将remove添加到javascript数组原型中

    为什么不按日期对数组进行排序(首先是最早的),然后使用
    list.shift()
    ?这将删除数组中的第一项,如前所述。

    是否可以在SQL中添加一个WHERE子句以过滤掉超过24小时的项?在初始加载时,SQL会过滤过去24小时的项,但随后列表会附加新项,因此此时需要在客户端管理时间逻辑。