javascript – 在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 cascading rules的默认规则更重要.最后的技巧是使用background而不是background-color来覆盖jQuery UI主题图像被使用了.

相关文章

1.第一步 设置响应头 header(&#39;Access-Control-Allow...
$.inArray()方法介绍 $.inArray()函数用于在数组中搜索指定的...
jquery.serializejson.min.js的妙用 关于这个jquery.seriali...
JS 将form表单数据快速转化为object对象(json对象) jaymou...
jQuery插件之jquery.spinner数字智能增减插件 参考地址:http...