javascript:限制项目数量

时间:2015-12-10 09:56:33

标签: javascript jquery arrays

抱歉,我是javascrit的新人。 我正在编写一个简单的RSS阅读器,但我想将Feed的数量限制为5个项目,因为我的目标站点可以有100个或更多。 代码如下:

$("#mainPage").live("pageinit", function () {
    $("h1", this).text(title);
    $.get(RSS, {}, function (res, code) {
    var xml = $(res);
    var items = xml.find("item");
    var items = $items.length && i < 5; i++); // here the problem!!
    var entry = "";
            $.each(items, function (i, v) {
            entry = {
                 title:$(v).find("title").text(),
                 link:$(v).find("link").text(),
                 description:$.trim($(v).find("encoded").text()),
                 category:$.trim($(v).find("category").text()),
                 date:$(v).find("pubDate").text().substr(0,16),
                 autor:$(v).find("creator").text()
            };
             entries.push(entry);
         });
     var s = '';
     $.each(entries, function(i, v) {
        s += '<li><a href="#contentPage" class="contentLink" data-entryid="'+i+'">' + v.title + '<br><i>' + v.autor + ' - ' + v.date + '</i></a></li>';
        });
        $("#linksList").append(s);
         $("#linksList").listview("refresh");
    });
});

问题在于,当我尝试限制添加的项目数量时     var items = $ items.length&amp;&amp;我&lt; 5;我++); javascript停止工作。 : - (

怎么做?

2 个答案:

答案 0 :(得分:6)

var items = $items.length && i < 5; i++);无效我认为你想要

var items = items.slice(0, 4);就是你想要的。

https://api.jquery.com/slice/(正如我所指出的,它是一个jQuery对象)

  

jQuery对象本身就像一个数组;它有一个长度   属性和对象中的元素可以通过它们访问   数字索引[0]到[length-1]。请注意,jQuery对象不是   实际上是一个Javascript Array对象,所以它没有全部   真正的Array对象的方法,例如join()。

因为Javascript是从0开始的(从0开始计数)你想要元素0到4,以获得前5个元素。

答案 1 :(得分:0)

您可以使用lt(n)函数

var items = xml.find("item:lt(5)");