在jQuery上使用!important更改fullcalendar的css类属性

时间:2014-07-07 06:16:43

标签: jquery css fullcalendar

我想通过带有!important 标记的jQuery更改fullcalendar的选定单元格css,我想这样做而不指定元素ID和只有类名:

这不起作用:

$('.fc-cell-overlay').css('height', '40px !important');

思想?

更新

我认为这比我提出的要复杂得多。对不起,如果我不够详细。我想在jQuery中做这个我想动态改变完整日历中单元格的高度值,如果让我说我每60分钟做一次(高度应该是40px)而不是每30分钟持续时间(高度应该是20px) )同时禁用拖动功能。这是我在这里找到的一个黑客:How to disable the drag in FullCalendar but keep the ability to click on a time slot and have the "placeholder" appointment still render

我无法根据@ climbinghobo的建议更改css,因为如果你没有点击单元格,css还不存在。显然完整的日历还没有这个功能,所以我不得不解决它。

2 个答案:

答案 0 :(得分:2)

JQuery不理解"!important"。您有几个选择:

  • 使用此规则添加一个类,并将此类添加到您的元素中:
    css:.important-rule{ height: 40px !important; }
    js:$('.fc-cell-overlay').addClass('important-rule')

  • 在文档的头部添加规则:
    js:$("<style type='text/css'> .fc-cell-overlay{ height: 40px !important; } </style>").appendTo("head");

  • 使用@Shaunak D提供的链接中的变通办法代码,以及#34;熟悉&#34; JQuery with!important

作为旁注,我会尽量避免!重要。看看您是否可以为选择器提供更多特异性。请注意,正如Suresh Ponnukalai所写,JQuery生成的内联规则将覆盖任何css规则,而不使用!important。

答案 1 :(得分:0)

可能你可以这样做:

  $('.fc-cell-overlay').attr('style','height:40px');

它将覆盖css,因为它的内联样式。