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

DS.*_*DS. 3 xml jquery

说我有一个从服务器返回的 xml,如下所示:

<persons>
        <person>
               <firstname>Jon</firstname>
        </person>
        <person>
               <firstname>Jack</firstname>
        </person>
        <person>
               <firstname>James</firstname>
        </person>
</persons>
Run Code Online (Sandbox Code Playgroud)

如果我想访问第三个名字节点(动态传递并存储在 i 中,这里假设为 3),我该怎么做?我奇怪的尝试如下:

var i=3;
$(xml).find('firstname').each(function(idx){
       if (idx==i) alert($(this).text());
});
Run Code Online (Sandbox Code Playgroud)

它确实为我获取了正确的内容......但我觉得它是错误的,尤其是循环部分。基本上我正在使用 .each() 遍历整棵树!还有比这更好的方法吗?直接带我到第 n 个节点的东西,例如:

alert( $(xml).find('firstname')[idx].text() ); // where idx=n
Run Code Online (Sandbox Code Playgroud)

我是 jquery 的新手,所以请原谅我的 jquery 编码方法。

Rob*_*vey 5

.eq()


类别:遍历 > 过滤

.eq(索引)

返回: jQuery

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

添加的版本:1.1.2。

index
一个整数,指示元素从 0 开始的位置。

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