在jQuery中,使用单个表达式选择同级元素的子元素

4
在jQuery中,是否可以使用类似于这样的单个表达式选择当前上下文的同级节点的子节点?
$('~ div > span', this)

很不幸,这对我来说不起作用,所以我不相信jQuery支持表达式中的这种链接方式。然而,我能够让以下方法起作用:

$('> span', $('~ div', this))


$(this).siblings('div').children('span')

我在寻找一种方法,可以使用以下API调用获取兄弟节点的子节点,或者解释为什么这不可能:

jQuery( expression, context )

为什么?如果可以分成两步完成,你为什么需要在一步中完成某件事呢?只是好奇。 - montrealist
仅供教育目的。直觉上,我觉得这应该是可能的,但我找不到任何明确告诉我是否可以的文档。所以,如果能更好地理解事物的工作原理,我希望在使用jQuery时我的直觉能更好。 - Blegger
你有一些可以用作测试案例的HTML吗? - j08691
可能相关:http://forum.jquery.com/topic/proper-interpretation-of-unspecified-parent-in-selector-child - 毕竟,jQuery只能做Sizzle支持的事情。 - Tomalak
3个回答

6

我知道这篇文章有点老,但是我认为我可以回答一下,以防有其他人也想尝试这个。使用find()是最好的方法。

$(this).siblings('div').find('span');

希望这有所帮助。

1

您可以尝试使用$(this + "+div>span");


你能解释一下这个选择器吗? - codefreak

0

这不是问题的答案。OP已经使用了类似的方法。 - molf

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接