【发布时间】:2013-06-20 03:10:18
【问题描述】:
取以下html:
<div class='div1'/>
<div class='div2'/>
<div class='div3'/>
现在假设我想使用 jQuery .hide() 隐藏这些元素。在性能方面,将 3 分组为单个选择器会更好。
$('.div1, .div2, .div3').hide();
或者运行 3 个单独的选择器。
$('.div1').hide();
$('.div2').hide();
$('.div3').hide();
为了代码的可读性,我更喜欢第二种方法,但我怀疑前一种方法更快?
此外,选择的类型是否会影响此处的结果。例如使用类标记名和 id 混合进行分组选择?
$('.myClass, a, #myId').hide();
vs 单独的选择器。
$('.myClass').hide();
$('a').hide();
$('#myId').hide();
【问题讨论】:
-
“性能是否更好......” - 你test that吗?
-
@MosheKatz 他在问一个问题。他不是在陈述一个事实。强调“性能方面是不是更好......”..他没有说“性能方面它是更好......”..抱歉吹毛求疵:P
-
我不知道怎么做,直到现在..我会运行一些测试
-
看起来
$('div[class^=div]').hide()将是这组对象的最快选择器。 -
@Ohgodwhy 这个选择器比其他两个选择器表现更差jsperf.com/single-vs-grouped-jquery-selectors
标签: jquery performance dom jquery-selectors