2012-05-01 49 views
0

我在我的新項目中使用了其中一個jQuery選項卡,並且使用HTML5 History API(pushState和popState)加載了頁面。一旦使用jQuery.getJSON()加載了頁面內容,我收到一條警告,說'元素在DOM中不存在!' - 我相信它是指股票容器(在ajax調用後返回),因爲它在內容加載後不起作用。jQuery - 在ajax調用後向DOM添加報價器

我試圖在jQuery.getJSON()的回調函數再次實例化的股票,但這並沒有解決問題:

jQuery.getJSON(url, function(data) { 
    jQuery.each(data, function(k, v) { 
     $('#' + k + ' section').fadeOut(200, function() { 
      $(this).replaceWith($(v).hide().fadeIn(200)); 
     });    
    }); 
    $('ul#feedNews').ticker({ 
     speed: 0.10, 
     controls: true, 
     titleText: '<strong>Latest news</strong>', 
     displayType: 'reveal', 
     direction: 'ltr', 
     pauseOnItems: 3000, 
     fadeInSpeed: 600, 
     fadeOutSpeed: 300 
    }); 
}); 

任何想法會有什麼解決辦法?

回答

1

這很可能是由插件僅與加載中的元素一起使用而引起的。我想它不會在內部使用delegateliveon的授權版本。

您的選擇是要麼找到一個與動態內容一起工作的插件,要麼修改這個插件源以使用上述方法之一。

+0

感謝Rory - 我找到了一個名爲livequery()的插件:https://github.com/brandonaaron/livequery/downloads,它似乎可以勝任。 – user398341

相關問題