2011-11-09 41 views
0

我有以下代碼:銷燬週期,如果跨度的唯一元素

$.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())。

爲什麼? :-)

+0

你確定no_calendar_items不存在嗎?我們可以看到返回的HTML嗎?如果你在'if()'裏放了一個console.log或alert,它是否正在觸發? – Patricia

回答

2

($("#calendar_system:not(:has(span.no_calendar_items))"))是一個jQuery對象,所以它總是會評估爲true。你需要測試它的長度是否大於零:

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