如果span是唯一的元素,则销毁循环

时间:2011-11-09 15:01:17

标签: jquery cycle

我有以下代码:

$.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 个答案:

答案 0 :(得分:2)

($("#calendar_system:not(:has(span.no_calendar_items))"))是一个jQuery对象,所以它总是评估为true。您需要测试其长度是否大于零:

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