将多个选择器与过滤器组合

时间:2010-10-27 02:50:00

标签: jquery

有没有办法在单个查询中组合多个选择器和基本过滤器?

例如......

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")

4 个答案:

答案 0 :(得分:5)

如果您执行.first()而不是.filter(":first")该怎么办?

这有帮助吗?

答案 1 :(得分:2)

我非常确定这是同一件事,只使用一个查询:

jq.nextAll('.classA:first, .classB:first');

显然它的mroe很冗长,但除非:first选择器有什么特别之处,否则应该有效。

答案 2 :(得分:2)

不确定你想要做什么,但如果你只是想要第一个元素的innerhtml,你应该能够做到这样的事情:

$(".classA, .classB", someElement).html();

因为html会对第一个匹配的元素起作用。

否则,我看不出你的方法有什么问题......我想你只是在寻求额外的知识?

我从来没有找到太多需要:第一个选择器但我可能会这样做:

$(".classA, .classB", someElement).first();

答案 3 :(得分:1)

试试这个:

var first = jq.nextAll('.classA, .classB').first();

工作示例here

相关问题