在jQuery UI datepicker中标记选定日期

我正在使用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级联规则的默认规则更重要。 最后一招是使用background而不是background-color来覆盖所使用的jQuery UI主题图像。

你有什么应该工作, 你可以在这里测试 。 但是,根据您的主题,您可能需要调整CSS,因为

具有它自己的背景,并且该类将应用于