jQuery:如何在元素数组上组合查找和筛选?

jQuery:如何在元素数组上组合查找和筛选?,jquery,dry,Jquery,Dry,我有一个元素数组myroot。我想从数组中找到与某个选择器匹配的所有元素或数组中某个元素的后代(比如说div) 您可以将其视为myroot.find('div')和myroot.filter('div')的组合。我想我可以把它写成$.merge(myRoots.find('div')、myRoots.filter('div')),但是我想(myRoots,选择器重复)。有更好的办法吗 在XPath中,这对应于,您可以编写这个$myroot/genderant或self::div编辑 尝试使用:

我有一个元素数组
myroot
。我想从数组中找到与某个选择器匹配的所有元素或数组中某个元素的后代(比如说
div

您可以将其视为
myroot.find('div')
myroot.filter('div')
的组合。我想我可以把它写成
$.merge(myRoots.find('div')、myRoots.filter('div'))
,但是我想(
myRoots
,选择器重复)。有更好的办法吗

在XPath中,这对应于,您可以编写这个
$myroot/genderant或self::div
编辑

尝试使用: myroot.find(“div”)和self().filter(“div”)


你可以做:

myRoots.find("div").andSelf();
编辑

尝试使用: myroot.find(“div”)和self().filter(“div”)


你可以做:

myRoots.find("div").andSelf();

您可以很容易地编写一个插件来实现这一点,尽管我想说,如果您需要这样做,那么您可能应该重新考虑您的标记。@Ilia,genderant或self在树遍历的许多情况下都是有意义的,无论是在HTML、XML还是其他很多树中。XPath在1999年有这个轴是有原因的,在jQuery中它是非常缺失的。我真的不同意这种选择在HTML上下文中是有意义的,但是如果你真的想写的话,它是一个非常简单的插件。你可以很容易地写一个插件来实现它,尽管我会说如果你需要的话,然后,您可能应该重新考虑您的标记。@Ilia、genderant或self在树遍历的许多情况下都是有意义的,无论是在HTML、XML还是其他很多树中。XPath在1999年有这个轴是有原因的,它在jQuery中严重缺失。我不认为这样的选择在HTML上下文中有意义,但如果你真的想要的话,它是一个非常简单的插件。这与它无关:它会将
myroot
中的所有元素添加到结果中,无论它们是否为div。这与此无关:它会将
myroot
中的所有元素添加到结果中,无论它们是否为div。