javascript - 在记录之间插入日期部分 DIV 根据记录日期从 JavaScript 生成的 HTML

标签 javascript jquery

我有一个来自项目管理应用程序的事件日志事件。

我想在我的事件日志 View 中插入一些 HTML 元素,以显示类似于按日期对文件排序时 Windows 文件资源管理器 显示的内容...

请参阅下图以更好地理解,因为它显示了 Windows 7 文件资源管理器中的一些文件和文件夹。它们之间是我正在谈论的标签

enter image description here

<小时/>

我需要使用 JavaScipt 计算和获取的日期值列表

  • 今天
  • 昨天
  • 本周早些时候
  • 上周
  • 本月早些时候
  • 今年早些时候
  • 不久前
<小时/>

我的应用程序如下所示...

因此,下面显示的每个事件行都是通过调用一个函数在 JavaScript 中生成的,该函数根据来自 JSON 字符串的记录类型构建正确的 HTML。

我在想,如果我构建一些函数来比较日期,我可以处理每一行,检查其日期是否与上面提到的日期部分之一匹配。

使用该方法,如果 3 个记录与“昨天”匹配,那么它将生成 3 个带有“昨天”的 DIV。

为了防止这种情况,我想也许我可以为每个日期部分都有一个变量,一旦 1 条记录匹配,将变量设置为“true”

一旦日期部分为“true”,它将开始寻找下一个要插入的日期部分。

这听起来像是这样做的方法还是还有其他方法?

请记住,当通过 JavaScript 函数运行时,每行/记录都会添加到 HTML 中?

enter image description here

最佳答案

您说:“我想也许我可以为每个日期部分设置一个变量,一旦 1 条记录匹配,请将变量设置为“true””。

为什么不使用对象?

`pseudo-code`
var labels = {}; // Today, Yesterday, Earlier this Week, etc

function createDivs(date, row) {
    labels[date] = labels[date] || [];
    labels[date].push(row);
}

您可以循环访问数据,对象将 self 感知键是否存在,并且数据始终附加到正确的标签。

关于javascript - 在记录之间插入日期部分 DIV 根据记录日期从 JavaScript 生成的 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32239309/

相关文章:

javascript - 删除父 Div 以在没有样式的情况下正确显示表单输入元素

php - Jquery 在 php echo 中显示隐藏的 Div

javascript - 在运行时删除标签

javascript - Youtube API - 将视频淡入到 div - 在 Opera 10 中不起作用

javascript - 为什么这个 jQuery 代码片段在 IE8 中不能像在 Firefox 或 Chrome 中那样工作(包括现场演示)?

javascript - jQuery width() 返回 0

jquery - jquery中如何实现点击功能?

javascript - 在 jQuery UI 对话框中动态加载本地 HTML 文件

javascript - 如何识别整数值是千、百或十?

javascript - 调用 http ://url from https://Page