Jquery检查每个段落的日期,检查日期是否过去/当前并添加类

时间:2015-11-20 12:01:59

标签: jquery datetime addclass

我有这样的代码:

<div class="content_inner">
    ...
    <p>2015 11 18 - Some dynamic text</p>
    <p>2015 11 19 - Some dynamic text</p>
    <p>2015 11 20 - Some dynamic text</p>
    <p>2015 11 21 - Some dynamic text</p>   
    <p>2015 11 22 - Some dynamic text</p>   
    <p>2015 11 23 - Some dynamic text</p>   
    <p>2015 11 24 - Some dynamic text</p>   
    ... 
</div>
  • 我从WYSIWYG字段中获取所有这些段落。
  • 每一行都有日期(Y m D)

我想要的是什么:

检查每个段落行的日期和:
1.如果日期是今天,请添加课程<p class="today">
2.如果日期是&lt;今天添加课程<p class="past">

提前感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

您可以这样做:

// Iterate every p inside content_inner
$(".content_inner p").each(function(){

    // Fetch Text of the current p
    var _text = $(this).text();

    // Fetch Date 2015 11 18 using split
    _text = _text.split(" - ")[0];

    // Seprate date components using split again
    _date = _text.split(" ");

    // Get current date
    var x = new Date();

    // Check if the date is current date (Note: Month starts from 0 in js)
    if(x.getFullYear() == +_date[0] && _x.getMonth()==(+x[1] + 1) && _x.getDate()==+_date[2])
    {
        // Add class today if it is todays date
        $(this).addClass("today");
    }
    else
    {
        $(this).addClass("past");
    }

});

答案 1 :(得分:0)

我创建了一个JSFiddle示例来解决此问题。

请注意:此解决方案假定<p>标记内的日期值始终如此。

祝你好运,玩得开心!