我正在使用jQuery Datepicker(jQuery 1.11.3 / jQuery UI 1.11.4>我已经绑定到这些版本,无法以任何方式更改或更改它们。)
开箱即用,jQuery Datepicker今天以下列方式突出显示:
<td class="ui-datepicker-days-cell-over ui-datepicker-current-day ui-datepicker-today"> <a class="ui-state-default ui-state-highlight ui-state-active" href="#" tabindex="144">26</a> </td>
现在我想摆脱ui-state-highlight类以防止这种行为。
我在网上搜索了很多提示,所有提示都或多或少都是这样的(包括超时,.find()等):
beforeShow:
function (textbox, instance) {
setTimeout(
function () {
$(
"#ui-datepicker-div td.ui-datepicker-today a.ui-state-highlight").removeClass('ui-state-highlight');
}, 300
);
//settimeout function end
}
然而,所有这些解决方案都无效。
有没有人能解决这个问题呢?
答案 0 :(得分:4)
为了确保jquery-ui在显示datepicker
之后不添加类,您可以在渲染datepicker后运行此代码。
$('#ui-datepicker-div').datepicker({
//options
})
.find('a.ui-state-highlight')
.removeClass('ui-state-highlight');
答案 1 :(得分:0)
为了完成这项工作,我必须删除两个类,并给出一些超时,这是我的解决方案:
setTimeout(function(){
$( "#embeded_calendar" ).datepicker().find('.ui-stateactive').removeClass('ui-state-active');
$( "#embeded_calendar" ).datepicker().find('.ui-datepicker-today').removeClass('ui-datepicker-today');
},10)
答案 2 :(得分:0)
另一种更快的方法:在 jquery-ui- [version] .custom.css
中注释掉以下行/ ** ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {} */