Javascript 正在寻找使用jquery选择XML节点第n个子节点的更快或更好的方法
这是我的密码:Javascript 正在寻找使用jquery选择XML节点第n个子节点的更快或更好的方法,javascript,jquery,xml,css-selectors,Javascript,Jquery,Xml,Css Selectors,这是我的密码: 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 = $(CD
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)");
将所需的索引放入以下eq
或者,如果CD
元素仅位于CD
下,并且您不担心得到错误的元素:
$(xml).find("CD:eq(0)")
据
因为:eq()是jQuery扩展,而不是CSS的一部分
规范中,使用:eq()的查询无法利用
本机DOM querySelectorAll()提供的性能提升
方法。要在现代浏览器中获得更好的性能,请使用
$(“您的纯css选择器”).eq(索引)
非常感谢你!非常好。您还可以使用比CSS选择器/jQuery更快、更强大的XPath表达式遍历XMLDocument。谢谢。是的,在jquery之前,我就是这样分解代码的。然而,我正试图最大限度地提高浏览器的兼容性。不过,我认为并非每一行代码都必须重构为jQuery等价物。
$(xml).find("CD:eq(0)")
$(xml).find("CDs CD").eq(index);