Уничтожить цикл, если span является единственным элементом - PullRequest
0 голосов
/ 09 ноября 2011

У меня есть следующий код:

$.ajax({
    type: "GET",
    url: "AJAX.ashx?job=fetch_calendar",
    dataType: "html",
    success: function (html) {
        $("#calendar_system").cycle("destroy").html(html);
        if ($("#calendar_system:not(:has(span.no_calendar_items))")) {
            $("#calendar_system").cycle({ fx: "scrollUp", timeout: 6000, cleartype: 1, speed: 800 });
        }                   
    }
});

Обновляет список календаря и циклически изменяет элементы. Но он также цикличен, даже если имеет span.no_calendar_items - почему это так? Я разрушаю цикл, прежде чем что-то делать, чтобы убедиться, что он пропал. Но, похоже, это не работает.

Функция AJAX выполняется каждые 10 минут (setInterval ()).

Почему? : -)

1 Ответ

2 голосов
/ 09 ноября 2011

($("#calendar_system:not(:has(span.no_calendar_items))")) - это объект jQuery, поэтому он всегда будет оцениваться как true. Вам нужно проверить, если его длина больше нуля:

if ($("#calendar_system:not(:has(span.no_calendar_items))").length) {
...