我这一生也搞不懂这件事。我需要将三个类分配给一系列的7个选项卡(基于星期几)、.past、.today和.future
我使用.getDay()让.today运行得很好,但是我在将.today之前的所有li赋值给.past,以及将.today之后的所有li赋值给.future时遇到了麻烦
HTML:
<ul class="days-of-the-week tabs clearfix">
<li class="sunday"><span><a href="#">Sunday</a></span></li>
<li class="monday"><span><a href="#">Monday</a></span></li>
<li class="tuesday"><span><a href="#">Tuesday</a></span></li>
<li class="wednesday"><span><a href="#">Wednesday</a></span></li>
<li class="thursday"><span><a href="#">Thursday</a></span></li>
<li class="friday"><span><a href="#">Friday</a></span></li>
<li class="saturday"><span><a href="#">Saturday</a></span></li>
</ul>jQuery:
// Add class .today to the correct day-of-week tab
$('ul.days-of-the-week li:eq(' + new Date().getDay() + ')').addClass('today');提前感谢!
发布于 2012-04-27 07:38:41
可以使用prevAll()获取当前元素之前的所有同级元素,使用nextAll()获取所有后续同级元素。
prevAll文档:http://api.jquery.com/prevAll/
nextAll文档:http://api.jquery.com/nextAll/
使用这些是很容易的。JSFiddle:http://jsfiddle.net/qYt2p/
var today = $('ul.days-of-the-week li:eq(' + new Date().getDay() + ')').addClass('today');
today.prevAll().addClass("past");
today.nextAll().addClass("future");发布于 2012-04-27 07:40:58
我想你在找netxAll和prevAll:
var today = $('ul.days-of-the-week li:eq(' + new Date().getDay() + ')');
today.prevAll().addClass('past');
today.addClass('today');
today.nextAll().addClass('future');发布于 2012-04-27 07:50:32
$('ul.days-of-the-week li').each(function() {
var c = new Date().getDay() <= $(this).index() ? new Date().getDay() == $(this).index() ? 'today' : 'future' : 'past';
$(this).addClass(c);
});https://stackoverflow.com/questions/10342860
复制相似问题