Bre*_*k89 3 jquery jquery-selectors
明星运算符似乎会递归所有选定的孩子,这与空间相同.我发现这个空间就像一个操作员,但$("div p")做同样的事情很奇怪$("div*p").
不,这不等同.星形运算符意味着至少需要一个元素位于它们之间.等价的选择器表达式
p * div, p > div
Run Code Online (Sandbox Code Playgroud)
匹配两种情况.选择器级别4很可能会引入另一个运营商
p >> div
Run Code Online (Sandbox Code Playgroud)
这确实相当于p<space>div.
对于jQuery部分:如果您编写$('p div')或任何其他选择器,您将熟悉HTML中的自动关闭元素.在这种特定情况下:div元素不能在p元素内部.浏览器会p在遇到时自动关闭div.如果你从这开始:
<p>
<div></div>
</p>
Run Code Online (Sandbox Code Playgroud)
你的DOM看起来像这样:
<p></p>
<div></div>
<p></p>
Run Code Online (Sandbox Code Playgroud)
因此,从来没有任何匹配的p div,p * div......看到这个的jsfiddle(注意:将两次做的alert()).
编辑:正如@Bharadwaj在评论中指出的那样,符号p*div是一个错误,永远不会匹配.原因是,这*是元素名称的占位符,因此必须用空格包围.