使用moment.js我編寫了一個腳本,它通過一系列事件並隱藏那些在6個多小時前開始並被視爲完成的腳本。用javascript包裹受影響的div
var x=document.getElementsByClassName("event");
for (var i=0;i<x.length;i++) {
var starttime = moment((x[i].getElementsByClassName("start")[0].childNodes[0].nodeValue), 'YYYY-MM-DD HH:mm');
var cutoff = moment().subtract(6, 'hours').format('YYYY-MM-DD HH:mm');
if (starttime.isBefore(cutoff)) {
var expired=(x[i].getElementsByClassName("event-container")[0]);
expired.style.display = "none";
}
}
腳本工作正常,但完全隱藏div並不是最好的主意。相反,我想將所有過期的事件都封裝在一個div中,然後可以打開,如果您仍想查看它們。我該如何去做呢?
最終的結果會是這樣的:
<div class="openclose">
<div class="event">
<div class="event-container">
Old event info goes here
</div>
</div>
<div class="event">
<div class="event-container">
Old event info goes here
</div>
</div>
</div>
<div class="event">
<div class="event-container">
New event info goes here
</div>
</div>
<div class="event">
<div class="event-container">
New event info goes here
</div>
</div>
啊,沒想到把它們追加到現有的div上。這工作完美。謝謝! – yayheartbeat
有時候,小事情是最好的:) – Weedoze