0

我在我的新项目中使用其中一个 jQuery 代码,并且页面是使用 HTML5 History API(pushState 和 popState)加载的。使用 jQuery.getJSON() 加载页面内容后,我会收到警告说“DOM 中不存在元素!” - 我相信它指的是股票代码容器(在 ajax 调用后返回),因为它在内容加载后不起作用。

我试图在 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
    });
});

知道什么是解决方案吗?

4

1 回答 1

1

这很可能是由于插件仅使用加载时存在的元素造成的。我猜它不使用delegate,live或内部的委托版本on

您的选择是找到一个适用于动态内容的插件,或者修改此插件源以使用上述方法之一。

于 2012-05-01T13:38:04.690 回答