Jquery没有按预期工作

时间:2013-06-17 14:06:12

标签: javascript jquery json

我想我可能差不多了(感谢其他几个人的帮助)但似乎仍然无法让我的推文在循环中一次显示一个

var $container = $('#innerTwitter');

$.get('/feed', function (data) {
    showTweets($(data).slice(0, 5))
}, 'json');

function showTweets(tweets) {
    var tweetPs = $.map(tweets, function (t) {
        return $('<p></p>').text(t.text).hide();
    });

    $container.append(tweetPs);
    tweetPs[0].show();

    var currentIndex = 0;

    var nextTweet = function () {
        var nextIndex = currentIndex == tweetPs.length - 1 ? 0 : currentIndex + 1;
        tweetPs[currentIndex].fadeOut(400, function () {
            tweetPs[nextIndex].fadeIn(400);
        });
        currentIndex = nextIndex;
    };

    setInterval(nextTweet, 2000);
}

在我的控制台(Chrome)中,我收到此错误

Uncaught Error: NotFoundError: DOM Exception 8

任何人都可以看到我做错的事情

任何帮助表示赞赏

1 个答案:

答案 0 :(得分:3)

因为你正在使用jquery 1.7(因为它没有显示相同的错误,所以这是一个重要的声明)。添加数组是不可能的(在最新版本中,你可以)。

这一行:

$container.append(tweetPs);

导致错误,尝试循环遍历每个元素并单独附加它们:

$.each($tweetPs, function(){
    $container.append(this);
})