我在DOM中有这个元素:<div id="main" class="main"></div>
。用$('#main')和$('。main:first')选择元素有没有区别?jQuery选择器差异
编辑: 忘了提及这是假设这个元素是类名为“main”的唯一元素。
我在DOM中有这个元素:<div id="main" class="main"></div>
。用$('#main')和$('。main:first')选择元素有没有区别?jQuery选择器差异
编辑: 忘了提及这是假设这个元素是类名为“main”的唯一元素。
编辑:忘了提及这是假设这个元素是类名“main”的唯一元素。
没有任何区别,因为只有一个.main
和$('#main')
或$('.main')
所以选择将返回你相同的结果。
在性能方面存在,但您可以忽略它,除非您使用高保真动画或巨大的DOM操作。
$('#main')
- 更快,更整洁,高效
$('.main:first')
- 类选择较慢相比ID选择并:first
滤波器是缓慢的。
- >您不需要:first
,只需$('.main')
将返回您想要的结果。
其他选项 -
$('.main')
- 比ID选择慢
$('div.main')
- 比ID选择仍然比较慢不仅仅是$(”主)
是的。如果该元素不是类main
的第一个元素,则不会被选中。
$(“#main”)可能会更快一些,因为它使用了ID。另外,如果您在原始类之前添加了.main类的另一个元素,那么它会失败。
ID选择器更强大,因为jQuery遍历DOM ID应该是唯一的(每个视图只有1个),而您可以拥有多个主类。
类选择器非常快。 – BoltClock
@BoltClock是的,但速度不如ID选择器http://jsperf.com/jquery-class-vs-id-v2 –