javascript:限制项目数
对不起,我是javascrit的新手。 我正在编写一个简单的rss阅读器,但我想将提要的数量限制为5项,因为我的目标站点可以有100项或更多。 代码如下:javascript:限制项目数,javascript,jquery,arrays,Javascript,Jquery,Arrays,对不起,我是javascrit的新手。 我正在编写一个简单的rss阅读器,但我想将提要的数量限制为5项,因为我的目标站点可以有100项或更多。 代码如下: $("#mainPage").live("pageinit", function () { $("h1", this).text(title); $.get(RSS, {}, function (res, code) { var xml = $(res); var items = xml.find("item"
$("#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");
});
});
$(“#主页”).live(“pageinit”,函数(){
$(“h1”,本)。正文(标题);
$.get(RSS,{},函数(res,代码){
var xml=$(res);
var items=xml.find(“item”);
var items=$items.length&&i<5;i++;//问题出在这里!!
var条目=”;
$。每个(项目、功能(i、v){
条目={
标题:$(v).find(“标题”).text(),
link:$(v).find(“link”).text(),
描述:$.trim($(v).find(“encoded”).text()),
类别:$.trim($(v).find(“类别”).text(),
日期:$(v).find(“pubDate”).text().substr(0,16),
autor:$(v).find(“创建者”).text()
};
条目。推送(条目);
});
var s='';
$。每个(条目、函数(i、v){
s+='';
});
$(“#链接列表”)。追加;
$(“#链接列表”).listview(“刷新”);
});
});
问题是,当我试图限制添加项目的数量时
var items=$items.length&&i<5;i++);
javascript停止工作:-(
如何做到这一点?
var items=$items.length&&i<5;i++)代码>无效,我想您需要
var items=items.slice(0,4)代码>是您想要的
(正如我所指出的,它是一个jQuery对象)
jQuery对象本身的行为很像一个数组;它有一个长度
属性和对象中的元素可以通过其
数值索引[0]到[length-1]。请注意,jQuery对象不是
实际上是一个Javascript数组对象,因此它没有所有
真数组对象的方法,如join()
因为Javascript是基于0的(从0开始计数),所以您需要元素0到4,以便获得前5个元素。您可以使用lt(n)函数
控制台中有错误吗?类似SyntaxErrorinvalid javascript的东西……我也是stackoverflow的新手。:)很抱歉,如果我在本地网络礼仪中犯了错误。TNX给托马斯!你的解决方案正在发挥作用。TNX againi同意,但这是一个jquery问题,使用jquery集合(顺便说一句,我没有投反对票)
var items = xml.find("item:lt(5)");