具有上下文的jQuery选择器的性能

前端之家收集整理的这篇文章主要介绍了具有上下文的jQuery选择器的性能前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在阅读Brandon Aaron here的这篇文章,关于jquery上下文如何帮助。所以我想到了自己的考验。所以这就是我做的。

>使用id =“context”创建一个DIV,并在之前创建的“#context”中使用id =“holder”嵌套DIV。
>创建深度为18的嵌套DIV并附加< div id =“context”>< div id =“holder”>< / div>< / div>导致20个嵌套DIV
>现在我测试了通过以下选择器访问“#holder”的时间:
一个。 $(“#holder”)//没有上下文
湾$(“#holder”,“#context”)//使用“#context”选择器字符串
C。 $(“#holder”,$(“#context”))//每次使用选择器“#context”发送jquery对象
天。 $(“#holder”,$ context)//其中,var $ context = $(“#context”)。缓存jquery对象
注意到每次X = 1000次的访问和开始和结束时间差异的情况。我发现时间花了
情况(a)是最不一致的28-32msec [jquery-1.3.2]
情况(b)(c)的最高时间为60-65毫秒分别为70-75毫秒
情况(d)具有40-50毫秒的1或2个加标值。

这种类型的基本检查是否有效?您可以在JSBIN上使用JS代码here
[让我知道如果我可以改进这个测试一些如何]
如果是,那么这个“上下文”真的有帮助吗?

#注意:也可以在jsbin编辑模式下用jquery-1.4.2替换jquery-1.3.2,你会惊讶地看到数字上升:P

解决方法

当你有一个更大的DOM你正在搜索时,上下文真的有帮助。搜索ID已经非常快,并且上下文在这种情况下并没有真正帮助太多。当您选择标签名称或类别时,上下文真的可能会有所不同。

尝试这样测试:http://jsbin.com/aciji4/4

当您在DOM中增加项目数量时,您可以看到上下文的时序更好,如下所示:http://jsbin.com/aciji4/6

原文链接:https://www.f2er.com/jquery/182997.html

猜你在找的jQuery相关文章