说我从服务器返回的xml如下:
<persons>
<person>
<firstname>Jon</firstname>
</person>
<person>
<firstname>Jack</firstname>
</person>
<person>
<firstname>James</firstname>
</person>
</persons>
如果我想访问第3个名字节点(动态传递并存储在i中,假设为3),我该怎么做?我的奇怪尝试如下:
var i=3;
$(xml).find('firstname').each(function(idx){
if (idx==i) alert($(this).text());
});
它确实为我提供了正确的内容......但是我觉得特别错误,尤其是循环部分。基本上我使用.each()遍历整个树!有没有比这更好的方法?将我带到第n个节点的东西就像:
alert( $(xml).find('firstname')[idx].text() ); // where idx=n
我是jquery的新手,请原谅我的jquery编码方法。
答案 0 :(得分:4)
分类:遍历&gt;过滤
.eq(index)
返回:jQuery
描述:将匹配元素集减少到指定索引处的元素。
版本添加:1.1.2。
索引
一个整数,表示元素的从0开始的位置。
答案 1 :(得分:1)
这是我最终到达的地方。如果您认为它会更好,请告诉我!
var i=3;
alert($(xml).find('firstname').eq(i).text());
谢谢你,罗伯特!