jquery选择器 '$("#someID > * *")' 的意思是什么?

7
这个选择器的含义是什么:$("#someID > * *")
我知道>表示子节点,*表示所有节点,但是我对两个星号感到困惑。你有什么想法吗?
2个回答

9

它选择#someID的所有子孙或更低级别的元素。

解释:

#someID > * 选择直接子元素,而不包括子元素的后代元素。
添加 *选择所有后代元素,但不包括其直接子元素。

因此,它将选择#someID的所有后代元素,除了其直接子元素。

它也可以写成$('#someID *').not('#someID > *')


2
дєЯеПѓдї•еЖЩжИРпЉЪ$('#someID').children().find('*');гАВ - user113716
@Patrick:你说得对;那样更清晰,而且可能会更快。 - SLaks

2
$('#someID > * *')

获取所有/任何元素,这些元素是#someID直接/立即子代,然后获取这些元素内部的任何后代,仅获取后代

不行,它不会选择其直接子元素。 - Harmen
@Harmen:我并没有说它会选择哪一个,最终会选择所有后代 :) - Sarfraz
@Harmen:是的,那可能会引起混淆,在结尾处添加了几个单词。谢谢 :) - Sarfraz

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