【发布时间】:2015-04-02 05:30:39
【问题描述】:
我有一个使用 jQuery 的页面,在某些情况下运行速度很慢,我正在尝试使用 Firebug 和 Firequery 对其进行分析。我已经让它运行,使用了页面......当我得到结果时,我看到消耗最多 CPU 时间的函数是:
elementMatcher/< (jquery-2.1.0.js (línea 2113))
Sizzle</Sizzle.selectors.filter.ATTR/< (jquery-2.1.0.js (línea 1617))
Sizzle</Sizzle.attr (jquery-2.1.0.js (línea 1407))
matcherFromGroupMatchers/superMatcher (jquery-2.1.0.js (línea 2297))
好的。而现在……什么?根据这些数据,我如何知道我的哪些选择器消耗的 CPU 最多?
(我怀疑我现在必须重写一些正在使用属性的选择器,基于 Sizzle</Sizzle.selectors.filter.ATTR/< 的事情,但除此之外,我还能获得更多信息吗?)
【问题讨论】:
-
花时间的是 jQuery 的选择器引擎。如果没有看到您的代码,我们很难指导您做什么。我想您需要通过缓存或改进逻辑来优化您选择的元素。
-
我确实有一些
$("select[name=blabla]").find(":selected")形式的选择器,用于在我的页面中选择名称为“blabla”的下拉菜单。我猜对了那些是 jQuery 试图使用Sizzle</Sizzle.selectors.filter.ATTR函数找到的那些?那些是最无能的?
标签: javascript jquery profiling firebug