2012-08-07 38 views

回答

2

虽然在产品我的工作解决了一些性能龙,似乎我的DOMContentLoaded事件在IE 9以700毫秒(我们有一个相当大的DOM - 这也是我的名单,以解决上)

禁用我的所有OnReady代码后 - 我把范围缩小

parse(selector)jquery.validate.unobtrusive.js

发现后:

$(selector).find(":input[data-val=true]").each(function() {...}我知道立即出现y Find()方法中选择器的结构,这将进入sizzle引擎,并且不使用Document.QuerySelectorAll()

- 编辑按评论从@ CharlesC--

选择器的微小变化:

$(selector).find("input, select, textarea").filter("[data-val=true]")导致内IE一个300ms的性能增益。

+1

find(“input”)和find(“:input”)之间有显着差异。输入虚拟选择器。没有:你会错过选择和textareas。 – CharlesC 2015-02-26 15:24:23

+0

好点@CharlesC!我相应地更新了我的答案。 – 2015-02-26 16:04:13