如何修改jQuery .each()以便我只获得N个项目,而不是所有项目?

时间:2016-12-13 18:48:55

标签: jquery rss

我正在使用jQuery来解析XML feed以创建自定义RSS Feed。

这就是我所拥有的:

        var $XML = $(data);
        $XML.find("item").each(function () {
            var $this = $(this),
                item = {
                    title: $this.find("title").text(),
                    link: $this.find("link").text(),
                    description: $this.find("description").text(),
                    pubDate: $this.find("pubDate").text(),
                    author: $this.find("author").text()
                };
            $('#TestFeed').append($('<h2/>').text(item.title));
            $('#TestFeed').append($('<a/>').text(item.link));
            $('#TestFeed').append($('<p/>').text(item.description));
            $('#TestFeed').append($('<p/>').text(item.pubDate));
            $('#TestFeed').append($('<p/>').text(item.author));
        });

我的问题是,如何修改此内容,特别是.each(),以便我只获取最新的3个项目,而不是所有项目?

1 个答案:

答案 0 :(得分:0)

抱歉,我通过阅读this来解决这个问题。

我将现有代码修改为:

<script>
    $.get("https://test.com/feed/", function (data) {
        var $XML = $(data);
        $XML.find("item").each(function (index) {
            var $this = $(this),
                item = {
                    title: $this.find("title").text(),
                    link: $this.find("link").text(),
                    description: $this.find("description").text(),
                    pubDate: $this.find("pubDate").text(),
                    author: $this.find("author").text(),
                };
            $('#TestFeed').append($('<h2/>').text(item.title));
            $('#TestFeed').append($('<a href="' + item.link + '"/>').text(item.link));
            $('#TestFeed').append($('<br/>'));
            $('#TestFeed').append($('<p/>').text(item.description));
            $('#TestFeed').append($('<br/>'));
            $('#TestFeed').append($('<p/>').text(item.pubDate));
            $('#TestFeed').append($('<br/>'));
            $('#TestFeed').append($('<p/>').text(item.author));

            if (index >= 2)
                return false;
        });
    });
</script>

希望这有助于将来。