【发布时间】:2014-03-21 07:23:55
【问题描述】:
我正在尝试使用 jQuery 运行 if else 语句。我相信我遵循了正确的结构,但代码没有运行。
我认为这与语句的性质有关,无论我写的 if else 语句如何,一个都会覆盖另一个。
最后一个 else if 语句有效,但中间那个无效?
这是一个小提琴http://jsfiddle.net/gdcx7/
见下方代码
<body>
<div class="thumb-holder">
<div class="post-title" data-date="Tuesday,14 December 2013" data-time="18:00">
<img class="featured-thumb" src="http://web-vassets.ea.com/Assets/Richmedia/Image/FeaturedGame/crysis3_298x168.jpg?cb=1334583481" alt="tag test" style="width:250px;height:156px" />
</div>
</div>
<div class="thumb-holder">
<div class="post-title" data-date="Tuesday,14 December 2012" data-time="18:00">
<img class="featured-thumb" src="http://web-vassets.ea.com/Assets/Richmedia/Image/FeaturedGame/crysis3_298x168.jpg?cb=1334583481" alt="tag test" style="width:250px;height:156px" />
</div>
</div>
<div calss="thumb-holder">
<div class="post-title" data-date="Tuesday,14 December 2012" data-time="18:00">
<img class="featured-thumb" src="http://web-vassets.ea.com/Assets/Richmedia/Image/FeaturedGame/crysis3_298x168.jpg?cb=1334583481" alt="tag test" style="width:250px;height:156px" />
</div>
</div>
<div class="thumb-holder">
<div class="post-title" data-date="Thursday,27 February 2014" data-time="18:00">
<img class="featured-thumb" src="http://web-vassets.ea.com/Assets/Richmedia/Image/FeaturedGame/crysis3_298x168.jpg?cb=1334583481" alt="tag test" style="width:250px;height:156px" />
</div>
</div>
<div class="thumb-holder">
<div class="post-title" data-date="Thursday,25 December 2014" data-time="18:00">
<img class="featured-thumb" src="http://web-vassets.ea.com/Assets/Richmedia/Image/FeaturedGame/crysis3_298x168.jpg?cb=1334583481" alt="tag test" style="width:250px;height:156px" />
</div>
</div>
$('.post-title').each(function () {
//1 day old
if (new Date($(this).data('date')).getTime() < new Date().getTime()) {
$(this).css({
opacity: 0.5,
border: '2px solid blue'
});
}
//older than 7 days
else if (new Date($(this).data('date')).getTime() < new Date().getTime() - (24 * 7) * 60 * 60 * 1000) {
$(this).css({
opacity: 0.5,
border: '2px solid red'
});
}
//7 days to go
else if (new Date($(this).data('date')).getTime() < new Date().getTime() + (24 * 7) * 60 * 60 * 1000) {
$(this).css({
opacity: 0.5,
border: '2px solid green'
});
}
});
【问题讨论】:
标签: jquery date if-statement each