如何修改 jQuery .each() 以便我只获得 N 项,而不是全部?
How do I modify jQuery .each() so that I only get N items, and not all of them?
我正在使用 jQuery 解析 XML 提要以创建自定义 RSS 提要。
这是我的资料:
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 个项目,而不是全部?
抱歉,我是通过阅读 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>
希望这对以后的人有所帮助。
我正在使用 jQuery 解析 XML 提要以创建自定义 RSS 提要。
这是我的资料:
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 个项目,而不是全部?
抱歉,我是通过阅读 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>
希望这对以后的人有所帮助。