我已经找到一个答案,我已经找到了相关的问题,而他们确认我的发现(
that one multiple selector call is slower than multiple single selector calls),没有人告诉我为什么.
基本上,当你运行这个代码:
$("#one,#two").hide(); $("#one,#two").show();
$("#one").hide(); $("#two").hide(); $("#one").show(); $("#two").show();
那么后者将会更快约50%.
第四选择差异:快26%.
第五:快30%.
第六:快31%.
十:快31%
(请注意,这些值似乎在约5%的范围内)
所以我们得到的东西看起来像这样:
表现似乎高居6个选择器.它似乎没有比通过单个呼叫中的每一个慢得多31%的速度.
这是为什么?
就个人而言,我喜欢每次通话使用多个选择器,但似乎有一个相对较大的性能.什么时候(不)适合使用?
解决方法
在这两种情况下,您都可以使用ID进行操作,因此可以将其转换为本机getElementById调用.
然而,在第一种情况下,必须另外做一些事情
>昏迷必须被处理,所以有额外的解析涉及
> 2个结果必须合并,由哪个操作jQuery asserts that they are returned in the same order as in DOM
我猜第二个操作需要最多的时间.