0

我正在处理这样的 HTML 结构:

<div class="post-info">
    <span class="date published time" title="2013-10-01T13:49:12+00:00">October 1st, 2013</span>
    <p>Info about person.</p>
    <p>Special notice that only displays if the date is September 27th, 2013 or later.</p>
</div>

将跨度的标题放入变量中,我曾经substr()提取读取为“YYYY-MM-DD”的部分。

但它不是作为文本字符串在变量中吗?然后如何将此文本字符串转换为日期对象,然后将其与 2013-09-27 进行比较以仅在跨度标题中的日期为 27 日或更新的日期时才执行代码块?

4

2 回答 2

2

将文本转换为 Date 对象

var theDateString = '2013-10-01';  // the date you got using the substr() function
if (new Date(theDateString) >= new Date('2013-09-27')) {
    // your code to run if the date is greater than or equal to 2013-09-27
}
于 2013-10-03T16:20:43.170 回答
0

在该日期之后要显示的信息中添加一个隐藏类,并添加 css 以隐藏它

<p class="hidden">Special notice that only displays if the date is September 27th, 2013 or later.</p>

<style>        
.hidden{
    display:none;
}
</style>

获取元素的标题并将其解析为日期。

var date = new Date($(".date.published.time").prop("title"));

然后将日期与 9 月 27 日进行比较

var compare = new Date("2013", "8", "27");

如果日期大于 27 日,则从信息中删除隐藏类别

if (compare < date){
    $(".hidden").removeClass("hidden");
}

这是一个小提琴。

于 2013-10-03T16:36:19.453 回答