基本上我正在解析xml文件并使用每个函数从该xml文件中检索某些元素。但是我现在需要返回第一个值,而不是'each'值。如果有人能提供帮助就会很棒。
到目前为止代码:
// basic ajax call to retrieve xml file - then on success sent over to checkNotDate function
$('#notifyBox').empty();
$.ajax ({
type: "GET",
url: "anyFeed.xml",
datatype: "xml",
success: checkNoteDate
});
// parse xml and display in alert
function checkNoteDate (xml) {
$(xml).find("entry").each(function()
{
var $item = $(this);
var title = $item.find("title").text();
var link = $item.find("link").attr("href");
var output = "<a href=\"" + link + "\" target=\"_self\">" + title + "<\/a>" + "<br />";
alert(output);
});
}
所以我需要做的就是获取第一个值并保存到var。
答案 0 :(得分:1)
只需使用find()选择第一个元素:
var $item = $(xml).find('entry:first');
或者使用一些类似的语法:
var $item = $(xml).find('entry').eq(0);
var $item = $('entry:first', xml);
var $item = $('entry', xml).eq(0);
所有人都做同样的事情。
此外,您可能刚刚在false
语句的末尾返回each
,这会导致循环在第一次迭代后停止。这与仅操纵第一个对象具有相同的效果,但使用上面提到的方法当然更清晰。