我有一个来自项目管理应用程序的事件日志事件。
我想在我的事件日志 View 中插入一些 HTML 元素,以显示类似于按日期对文件排序时 Windows 文件资源管理器 显示的内容...
请参阅下图以更好地理解,因为它显示了 Windows 7 文件资源管理器中的一些文件和文件夹。它们之间是我正在谈论的标签
<小时/>我需要使用 JavaScipt 计算和获取的日期值列表
- 今天
- 昨天
- 本周早些时候
- 上周
- 本月早些时候
- 今年早些时候
- 不久前
我的应用程序如下所示...
因此,下面显示的每个事件行都是通过调用一个函数在 JavaScript 中生成的,该函数根据来自 JSON 字符串的记录类型构建正确的 HTML。
我在想,如果我构建一些函数来比较日期,我可以处理每一行,检查其日期是否与上面提到的日期部分之一匹配。
使用该方法,如果 3 个记录与“昨天”匹配,那么它将生成 3 个带有“昨天”的 DIV。
为了防止这种情况,我想也许我可以为每个日期部分都有一个变量,一旦 1 条记录匹配,将变量设置为“true”
一旦日期部分为“true”,它将开始寻找下一个要插入的日期部分。
这听起来像是这样做的方法还是还有其他方法?
请记住,当通过 JavaScript 函数运行时,每行/记录都会添加到 HTML 中?
最佳答案
您说:“我想也许我可以为每个日期部分设置一个变量,一旦 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/