gpt4 book ai didi

jquery - 查找元素中最接近的日期然后添加类

转载 作者:行者123 更新时间:2023-12-01 03:17:42 24 4
gpt4 key购买 nike

例如:今天是4 点。十二月

  1. 2012 年 12 月

  2. 2012 年 12 月

  3. 2012 年 12 月

标题(2012 年 12 月 5 日)

标题(2012 年 12 月 7 日)

  1. 2012 年 12 月

最近日期是 12 月 5 日(不是 12 月 3 日)(较新而非较旧)

如果有多个“5. December”,则仅添加第一个 child 的类(class)

HTML:

<div class="wrap">

<div class="zone" id="one">
<div class="box">
<footer class="time">1. December 2012</footer>
</div>


<div class="box">
<footer class="time">1. December 2012</footer>
</div>

<div class="box">
<footer class="time">3. December 2012</footer>
</div>


<div class="box">
<h2>Title <span class="time">(5. December 2012)</span></h2>
</div>


<div class="box">
<h2>Title <span class="time">(7. December 2012)</span></h2>
</div>


<div class="box">
<footer class="time">9. December 2012</footer>
</div>

</div>

<div class="zone" id="two">
<!-- Same .zone#one but i will focus for .zone#one only-->
</div>

</div>


<code></code>

jQuery:

var closest = [];

$('.wrap > .zone:eq(0) .box').each(function(i) {
var date = $(this).find(".time").html().replace("(","").split(".");
closest.push(date[0]);
});



$("code").html(closest+"");

Playground : http://jsfiddle.net/WJvZb/

我现在来到这一步,但不知道找到最接近的日期并添加它的类(例如.closest类)

最佳答案

您应该用英语命名您的日期,因此“desember”...然后您还可以迭代您的日期并从中创建 Date 对象,然后很容易找到最接近的日期。

var closest = [];

$('.wrap > .zone:eq(0) .box').each(function(i) {
var date = $(this).find(".time").html().replace("(","").replace(")","");
closest.push(new Date(date));
});

function closestTime(days, testDate)
{
var bestDiff = null;

for(i = 0; i < days.length; ++i){
currDiff = Math.abs(days[i] - testDate);
if(currDiff < bestDiff || bestDiff == null){
bestDate = days[i];
bestDiff = currDiff;
} else if (currDiff == bestDiff && days[i] > testDate) {
bestDiff = currDiff;
}
}

return bestDate;
}

console.log(closestTime(closest,new Date()));

关于jquery - 查找元素中最接近的日期然后添加类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13698483/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com