采取以下html:
<div class='div1'/>
<div class='div2'/>
<div class='div3'/>
现在假设我想使用jQuery .hide()
隐藏这些元素。性能方面,最好将3组合成一个选择器。
$('.div1, .div2, .div3').hide();
或者运行3个独立的选择器。
$('.div1').hide();
$('.div2').hide();
$('.div3').hide();
为了代码可读性,我更喜欢第二种方法,但我怀疑前一种方法更快?
此外,选择的类型是否会影响结果。例如,使用class tagname和id mix进行分组选择?
$('.myClass, a, #myId').hide();
vs单独的选择器。
$('.myClass').hide();
$('a').hide();
$('#myId').hide();
答案 0 :(得分:4)
最好将3分组为单个选择器?
它们之间的唯一区别是一个比其他一个更可读(你已经喜欢),你可以根据你的选择使用任何人,因为它们在{{3>没有太大的区别} -
选择的类型会影响结果吗?
不,这对结果没有任何影响 -
答案 1 :(得分:0)
看起来分组的速度稍快。
Mixed Individual: 8ms
Mixed Grouped: 6ms
Individual: 15ms
Grouped: 9ms
答案 2 :(得分:0)
这是你的答案:
http://jsperf.com/single-vs-multiple-selectors
谷歌搜索“jsperf Jquery选择器性能”会产生许多不同的测试用例,涵盖各种性能运行。
通常,Jquery选择器必须拆分为各自的组件以进行处理。因此,当它们都在一个选择器中时,这会导致成本略有增加。
除非遇到性能问题,否则不值得担心。注重可读性。