我正在使用jQuery UI的datepicker(http://docs.
jquery.com/UI/Datepicker).
听起来应该可以通过提供beforeShowDay函数来标记某些日子(http://docs.jquery.com/UI/Datepicker#event-beforeShowDay).但我无法为此获得CSS.我想让背景变绿了几天.
这是我迄今为止的JavaScript:
$(function() { $('.date').datepicker({ dateFormat: 'yy-mm-dd',firstDay: '1',showOtherMonths: 'true',beforeShowDay: daysToMark }); }); function daysToMark(date) { if (date.getDate() < 15) { return [true,'markedDay',""]; } return [true,'',""]; }
这是css:
.markedDay { background-color: green; }
但没有变化.我究竟做错了什么?
解决方法
这样做了
.markedDay a.ui-state-default { background: green !important; } .markedDay a.ui-state-hover { background: red !important; }
如Nick Craver所指出的,不得不将样式添加到元素而不是td元素.我还必须将jQuery UI生成的类名添加到a元素中,以使我的css规则比根据CSS cascading rules的默认规则更重要.最后的技巧是使用background而不是background-color来覆盖jQuery UI主题图像被使用了.