在Chrome的DevTools控制台(版本63)中,我输入了以下内容:
注意第二个查询中的额外星号。
两个查询都找到相同的元素,但第二个查询结果显然略有不同。我也不会期望星号是合法的。
有人可以解释星号有什么影响吗?
请注意,这不仅仅是询问在查询中使用星号,还要考虑紧靠标识符旁边的效果。
答案 0 :(得分:1)
好的,感谢上面的评论,我了解发生了什么。
#right
表示找到ID为' right'的元素。它永远不会返回多个元素。
*#right
表示查找任何ID为' right'的元素,与div#right
相同,就是找到具有该ID的div。如果有多个具有该id的元素,它将返回多个元素。 (不应该是,但Chrome至少可以让你这样做。)
* #right
表示找到ID为' right'的元素。这也是另一个元素的后代。如果有多个具有该id的元素,它也将返回多个元素。
虽然最后一种情况可能看似多余,但如果' html'它不会匹配任何内容。 element是唯一一个id为#right;#39;
的人答案 1 :(得分:0)
星号代表任何元素。
#right
和*#right
都应该返回相同的元素,因为id是唯一的。