正在寻找更快或更好的方法来使用jquery选择XML节点的第n个子节点

Looking for faster or better method to select the nth child of an XML node using jquery

本文关键字:XML 选择 jquery 节点 子节点 寻找 方法 更好      更新时间:2023-09-26

这是我的代码:

var CDs=$(xml).find("CDs");
var NthChild = $(CDs).find("CD:nth-child(index)"); // nth-child 0th element starts at 1

我在这里使用find方法;我必须指定子节点名称,它被记为"CD"。有没有一种更快或更短的方法,也许不需要我指定子节点的名称(即"CD"(来查找第n个子节点?

谢谢。

更新

我发现了一种不需要按名称指定子节点的格式:

var NthChild = $(CDs).children(":nth-child(index)");
$(xml).find("CDs CD").eq(index);

根据jQuery文档

因为:eq((是jQuery扩展,而不是CSS的一部分规范,使用:eq((的查询不能利用本机DOM querySelectorAll((提供的性能提升方法为了在现代浏览器中获得更好的性能,请使用$("您的纯css选择器"(.eq(索引(。

$(xml).find("CDs CD:eq(0)")

将所需索引放入eq 后面的parens中

或者,如果CD元素只存在于CDs下,并且您不担心得到错误的元素:

$(xml).find("CD:eq(0)")