【发布时间】:2016-12-16 14:30:35
【问题描述】:
我试图隐藏音乐会的日期,在 4 周过去之后,音乐会发生的时间。 1 天后,它应该会变成红色。
这是我在其他地方找到的:
$('#timeTable tr td').each(function () {
var dtSt = $(this).html().split(" ");
var dtAr = dtSt[0].split("/");
var when = new Date(dtAr[1] + "/" + dtAr[0] + "/" + dtAr[2] + " " + dtSt[1]);
console.log(when);
var now = Date.now();
if (now - when > 2419200000) {
$(this).parent('tr').addClass('four_weeks');
} else if (now - when > 86400000) {
$(this).parent('tr').addClass('one_day');
}
});
它适用于表格,但我希望它适用于我得到的 div,所以
我更改了结构中的 #timetable 部分:
$('.termin .termin_content h3').each(function () {
if (now - when > 2419200000) {
$(this).parent('h3').addClass('four_weeks');
} else if (now - when > 86400000) {
$(this).parent('h3').addClass('one_day');
}
});
我猜这不是事情的运作方式。是否有可能摆脱一天中的时间,还是需要计算?
【问题讨论】:
-
1 thing:"
parent('h3')仅当它是元素时才采用父元素,您可能想使用
closest()代替,您可以阅读文档:api.jquery.com/parent -
@Seba 我为您的案例场景添加了一个可能的解决方案