我目前有几个类,其中包含属性中的日期。
<div id="container">
<div class="date" date="19/11/2013"></div>
<div class="date" date="06/11/2013"></div>
</div>
<div id="result"></div>
我想做的是找到最新的日期并在页面上显示。到目前为止,我已经在属性中找到了信息,检查了它在数组中是否存在并将其推送到数组中。我不完全确定这里最好的方法,但理想情况下我想找到最新的日期,然后将其附加到结果容器中。
$('.date').each(function () {
var dateArray = [];
var date = $(this).attr('date');
if ($.inArray(date, dateArray) == -1) {
dateArray.push(date);
}
$('#result').append(dateArray);
});
对此有任何帮助将不胜感激。
谢谢:)
答案 0 :(得分:0)
首先,您的HTML无效,因为date
不是有效的属性。如果您需要元素中的自定义值,请使用data-*
属性:
<div id="container">
<div class="date" data-date="19/11/2013"></div>
<div class="date" data-date="06/11/2013"></div>
</div>
<div id="result"></div>
要比较JS中的日期,您需要将它们转换为Date
类型,但是您需要将成分日/月/年部分拆分为日期为英国格式。试试这个:
var dates = $('.date').map(function() {
var dateArr = $(this).data('date').split('/');
return new Date(dateArr[2], dateArr[1] -1, dateArr[0])
});
$('#result').append(new Date(Math.max.apply(null, dates)));