jquery如何通过索引访问xml节点?

时间:2010-05-21 05:15:34

标签: jquery xml

说我从服务器返回的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编码方法。

2 个答案:

答案 0 :(得分:4)

.EQ()


分类:遍历&gt;过滤

.eq(index)

返回:jQuery

描述:将匹配元素集减少到指定索引处的元素。

版本添加:1.1.2。

索引
一个整数,表示元素的从0开始的位置。

http://api.jquery.com/eq/

答案 1 :(得分:1)

这是我最终到达的地方。如果您认为它会更好,请告诉我!

var i=3;
alert($(xml).find('firstname').eq(i).text());

谢谢你,罗伯特!