2015-12-10 122 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)"); 
相關問題