明星运算符似乎会递归所有选定的孩子,这与空间相同.我发现空间就像一个运算符,但$(“div p”)与$(“div * p”)的作用相同. 不,这不等同.星形运算符意味着至少需要一个元素位于它们之间
p * div, p > div
匹配两种情况. Selectors level 4很可能会引入另一个操作符
p >> div
这实际上相当于p< space> div.
对于jQuery部分:如果你编写$(‘p div’)或任何其他选择器,你将熟悉HTML中的自动关闭元素.在这种特定情况下:div元素不能位于p元素内.当遇到div时,浏览器会自动关闭p.如果你从这开始:
<p> <div></div> </p>
你的DOM看起来像这样:
<p></p> <div></div> <p></p>
因此永远不会匹配任何p div,p * div,…见这个JSFiddle(注意:会两次做一个警报()).
编辑:正如@Bharadwaj在评论中指出的那样,p * div的符号是一个错误,永远不会匹配.原因是,*是placeholder for an element name,因此必须用空格包围.