jquery removeClass 在第二次或第三次点击后没有拾取 CSS
jquery removeClass is not picking up CSS after second or third click.
我正在为我的网站制作一个在线日历,并希望使用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
CSS,但它的行为就好像.today
已被删除一样。
任何建议表示赞赏。
我为你创建了一个JSFiddle。 一切似乎都在正常...
.HTML
<table id="calendarGrid" cellpadding="5" cellspacing="5" border="1">
<tr>
<td name='2012-04-07' class='wEnd today active' 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>
.CSS
#calendarGrid td{
padding: 20px;
cursor: pointer;
}
#calendarGrid td.active{
background-color: #000;
color: #fff;
}
.JS
$(document).ready(function(){
$('#calendarGrid td').live('click', function(){
$('#calendarGrid td').removeClass('active');
$(this).addClass('active');
});
});
代码似乎是正确的。可能是jquery库中的一些错误。尝试将谷歌库放在脚本之前:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
你应该尝试使用这样的toggleClass
:
$("#calendarGrid td").on('click', function(){
//$(this) = #calendarGrid td
$(this).toggleClass("today");
})
相关文章:
- CSS-如何定位内容数据标题
- 窗口大小html css
- 如果文本字段为空,则使用JavaScript应用CSS样式
- 动画.CSS重播
- 有没有一种方法可以防止img get请求使用css或js发生
- CSS表格:从列平移到整个表格宽度
- CKEditor-我在editor.css中的风格是't
- 单击更改图标并通过javascript添加一个css类
- 将CSS应用于printWindow.print();在Javascript中
- 使用CSS或js,使用动态选择器选择任意li的下一个元素
- CSS-若窗口太小,滚动条会出现在“表格”单元格上
- 如何在Jquery中使用removeclass()函数来禁用CSS
- Animating addClass & removeClass with jQueryUI or CSS
- jquery removeClass 在第二次或第三次点击后没有拾取 CSS
- jQuery add/removeClass 不会触发 'right' 属性的 CSS 过渡
- removeClass不能在CSS转换中工作
- jQuery CSS动画与addClass和removeClass
- 仅在animate.css removeClass转换完成后运行函数
- 带有css动画的Jquery removeClass不起作用
- removeClass不能撤销CSS效果