我有一个事件列表,每个事件都有一个包含日期的自定义数据属性:
<ul class="event-list">
<li class="event-item" data-event-date="20150218"></li>
<li class="event-item" data-event-date="20150522"></li>
<li class="event-item" data-event-date="20150928"></li>
</ul>
<ul class="old-event-list">
</ul>
我想要做的是选择 ul.event-list
中 data-event-date 属性较旧的所有 li.event-item
元素比当前(服务器时间)日期,然后将它们移动到 ul.old-event-list
。
我知道我可以使用 appendTo
来移动元素,但我不知道如何仅选择日期属性比当前服务器日期旧的元素。
非常感谢任何建议!
最佳答案
您可以迭代元素并使用 .filter()
method返回 data-event-date
属性值大于/小于某个值的元素。
然后你将链接 .appendTo()
method为了追加返回的元素。
$('.event-list .event-item[data-event-date]').filter(function () {
return $(this).data('event-date') > 20150522;
}).appendTo('.old-event-list');
当然,您可以在 JS 中动态检索当前日期,而不是硬编码。
关于javascript - 选择数据属性日期值早于当前服务器日期的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28868931/