gpt4 book ai didi

jquery - $ ("div p") 等于 $ ("div*p") 吗?

转载 作者:行者123 更新时间:2023-12-01 00:40:26 25 4
gpt4 key购买 nike

星号运算符似乎会递归所有选定的子项,这与空格发生的情况相同。我觉得很奇怪,空格就像一个运算符,但 $("div p")$("div*p") 做同样的事情。

最佳答案

不,这不等同。星号运算符意味着它们之间至少需要有一个元素。等效的选择器表达式是

p * div, p > div

匹配两种情况。 Selectors level 4很可能会引入另一个运营商

p >> div

这确实相当于 p<space>div .

对于 jQuery 部分:如果你写 $('p div')或任何其他选择器,您将熟悉 HTML 中的自动关闭元素。在本例中:div元素不能位于 p 内元素。浏览器将关闭p当遇到div时自动。如果你从这个开始:

<p>
<div></div>
</p>

你的 DOM 将如下所示:

<p></p>
<div></div>
<p></p>

因此永远不会匹配 p div 中的任何一个, p * div ,...参见此JSFiddle (注意:将执行两次 alert() )。

编辑:正如 @Bharadwaj 在评论中指出的那样, p*div 的符号是一个错误并且永远不会匹配。原因是,*placeholder for an element name因此必须被空格包围。

关于jquery - $ ("div p") 等于 $ ("div*p") 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27960908/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com