【发布时间】:2011-12-19 00:17:09
【问题描述】:
我想知道当您使用选择器时 jQuery 是如何遍历 DOM 的。 它是否查找每个“第一级”元素,然后查看每个元素?还是逐个查看那些“第一级”元素的每个子元素?
让我用一些简单的例子来解释我的想象,给定以下选择器:
$("div p#target")
是不是更像:
[1] <div>
[3] <div>
[5] <p id="target"></p>
</div>
</div>
[2] <div>
[4] <div>
<p></p>
</div>
</div>
或者喜欢:
[1] <div>
[2] <div>
[3] <p id="target"></p>
</div>
</div>
<div>
<div>
<p></p>
</div>
</div>
【问题讨论】:
-
jQuery 使用 SizzleJS,它不是您问题的答案,但也许他们的文档可以帮助您:sizzlejs.com 和 github.com/jquery/sizzle/wiki/Sizzle-Home
-
JQuery 并不总是使用嘶嘶声。例如,
$('#mydiv')不会使用嘶嘶声。在 chrome 和 firefox 中,$('.mydiv')不会使用 sizzle,但在 IE -
好吧,没有可预测的方式知道它将如何工作:/
-
@user704808 很有趣,但不是我的问题
标签: jquery