有没有在单个查询中结合多重选择器和基本筛选器的方法?将多个选择器与筛选器结合使用
例如...
var jq = $(someElement);
// Want to find the first following sibling node which has either classA or classB.
// This imaginary jquery does not quite work.
jq.nextAll("(.classA, .classB):first")
// This works. But I wonder if I can achieve the same result with just one query.
jq.nextAll(".classA, classB)").filter(":first")
谢谢你的回答,安迪。如果第一个查询有多个匹配元素,那么jQuery会找到所有匹配并选择第一个?我认为在单个查询中这样做会让jquery知道我只对第一个元素感兴趣,这样jquery将停止查找任何其他匹配 - 使查询更快。也许?也许不会? – Kei 2010-10-27 03:20:24
这很有趣。我试图通过jQuery的源代码,但不够好,以了解究竟发生了什么。我发现的第一个函数只是eq函数的别名,它调用this.slice(i,+ i + 1),其中this是结果。所以,我假设无论你如何说出这些类型的复杂选择器,它都会抓住所有的结果,然后将它们过滤掉。这只是从我可以看到的猜测。我真的不知道它是如何工作的。 – 2010-10-27 03:35:04
@Kei当找到第一个匹配时,无法告诉jQuery停止。请参阅:http://stackoverflow.com/questions/3950888 – 2010-10-27 03:59:38