2015-12-10 146 views
2

对不起,但我是javascrit新手。 我正在写一个简单的RSS阅读器,但我想饲料的数量限制在5个项目,因为我的目标站点可以有100以上。 下面的代码:javascript:项目数量限制

$("#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.length & &我< 5;我++); JavaScript停止工作。 :-(

怎么办呢?

+0

任何错误控制台?类似的SyntaxError – Hacketo

+0

无效的JavaScript ... –

+1

我在计算器是新太。 :)很抱歉,如果我在本地网络礼仪中犯错误。 TNX到托马斯!您的解决方案正在运行TNX再 – maxlinux2000

回答

5

var items = $items.length && i < 5; i++);是无效的,我认为要

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

https://api.jquery.com/slice/(如向我指出,这是一个jQuery对象)

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

因为Javascript是基于0的(从0开始计数)所以您希望元素0到4,以获得前5个元素。

+1

https://api.jquery.com/slice/(项目是一个jquery集合,而不是一个js数组) – billyonecan

+0

@billyonecan jQuery是可选的,对于其他人谁搜索这个答案是很好的了解jQuery isn'要求。但我会编辑。 –

+0

我同意,但是这是一个jQuery的问题,有一个jQuery的收集工作(我没有BTW downvote) – billyonecan

0

您可以使用LT(n)函数

var items = xml.find("item:lt(5)"); 
相关问题