jQuery 选择器中星号的效果

Cha*_*son 3 jquery jquery-selectors

在 Chrome(版本 63)的 DevTools 控制台中,我输入了以下内容:

在此输入图像描述

请注意第二个查询中的额外星号。

两个查询都找到相同的元素,但第二个查询显然得到了略有不同的结果。我也没想到星号是合法的。

有人可以解释一下星号有什么影响吗?

请注意,这不仅仅是询问查询中星号的使用,还询问其紧邻标识符时的效果。

Cha*_*son 5

好的,感谢上面的评论,我明白发生了什么。

#right表示查找 id 为“right”的元素。它永远不会返回超过一个元素。

*#right表示查找任何 id 为“right”的元素,其方式与表示div#right查找具有该 id 的任何 div 的方式相同。如果有多个元素具有该 id,它将返回多个元素。(不应该有,但 Chrome 至少可以让你这样做。)

* #right表示查找 id 为“right”的元素,该元素也是另一个元素的后代。如果有多个元素具有该 id,它也会返回多个元素。

尽管最后一种情况可能看起来多余,但如果“html”元素是唯一一个 id 为“right”的元素,那么它就不会匹配任何内容。