我正在为我的网站制作一个在线日历,并希望使用 jquery 的 removeClass 和 addClass 函数更改所选日期的背景。该脚本在第一次单击时工作正常,旧日的背景被移至默认颜色,并且单击的日期 (td) 突出显示。但是,随后的点击会保留其突出显示的颜色,这意味着我有多个选择的日子。
我尝试了一系列解决方案,包括 .on() live() 和其他帖子中的各种 if 函数。
$('#calendarGrid td').on("click", function() {
$('#calendarGrid td').removeClass('today');
$(this).addClass('today');
});
我的 CSS 看起来像这样:
#calendarGrid .wEnd{background: #DDD;}
#calendarGrid .wDay{background: #EEE;}
#calendarGrid .today{background: #99BBEE;}
并且没有把我的整张桌子放在这里是HTML
<table id="calendarGrid">
<tr>
<td name='2012-04-07' class='wEnd today' id='a6'>7</td>
<td name='2012-04-08' class='wEnd' id='b0'>8</td>
<td name='2012-04-09' class='wDay' id='b1'>9</td>
</tr>
<table>
奇怪的是,当我有更多的 javascript 时,.today
尽管它拾取了.today
CSS,但它的行为好像已被删除。
任何建议表示赞赏。