Это должно быть просто, но я глуп так...
Я хочу сделать простой условный оператор, чтобы видеть, был ли календарь уже представлен в отделении Чем-то вроде этого:
if ( $('#calendar').fullCalendar() )
{
alert("calendar exists!!");
}
Я хочу сделать это так, чтобы я мог удалить, затем re-init календарь программно. В основном, кнопка 'сброса'.
Кто-то может сообщить мне правильный синтаксис, чтобы проверить, был ли объект fullCalendar представлен?
Заранее спасибо!!
Я разобрался. В jQuery есть селектор .children()
. Я смог сделать условный оператор на свойстве .length
этого селектора, чтобы увидеть, есть ли содержимое в div:
if ( $('#calendar').children().length > 0 ) {
alert("calendar exists!!");
}
Альтернативный способ сделать это без jQuery:
getElementById('calendar').hasChildNodes()
Это своего рода хак, но каждая ячейка дня имеет класс с форматом 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);
}
}