这应该很简单,但我很蠢......
我想做一个简单的条件语句来查看日历是否已经在div中呈现。像这样:
if ( $('#calendar').fullCalendar() )
{
alert("calendar exists!!");
}
我想这样做,以便我可以删除,然后以编程方式重新初始化日历。基本上是一个'重置'按钮。
有人可以告诉我正确的语法来检查是否已经渲染了fullCalendar对象吗?
提前谢谢!!
答案 0 :(得分:7)
我明白了。 jQuery有一个.children()
选择器。我能够在该选择器的.length
属性上执行条件语句,以查看div中是否有任何内容:
if ( $('#calendar').children().length > 0 ) {
alert("calendar exists!!");
}
在没有jQuery的情况下,另一种方法是:
getElementById('calendar').hasChildNodes()
答案 1 :(得分:0)
这是一种黑客攻击,但每天的单元格都有一个格式为fc-day-##
的类。最后一个单元格的编号为41(在firebug中查看)。您可以尝试选择td.fc-da-41
,如果您获得任何元素,则日历已完全加载。
if ($('td.fc-day-41').size() > 0) {
//calendar ready
}
可能会将其设置为使用.setTimeout()
var checkCal = function() {
if ($('td.fc-day-41').size() > 0) {
//calendar ready
} else {
window.setTimeout(checkCal(), 200);
}
}
答案 2 :(得分:0)
您可以轻松查看
if($('#calendar>*').length !== 0) alert("calendar exists!!");