我在 DOM 中有这个元素:<div id="main" class="main"></div>. 通过 $('#main') 和 $('.main:first') 选择元素有什么区别吗?
编辑:忘了提到这是假设这个元素是唯一具有类名“main”的元素。
我在 DOM 中有这个元素:<div id="main" class="main"></div>. 通过 $('#main') 和 $('.main:first') 选择元素有什么区别吗?
编辑:忘了提到这是假设这个元素是唯一具有类名“main”的元素。
编辑:忘了提到这是假设这个元素是唯一具有类名“main”的元素。
没有区别,因为只有一个.main,因此选择$('#main')or$('.main')会返回相同的结果。
在性能方面有但你可以忽略它,除非你使用高保真动画或巨大的 DOM 操作。
$('#main')- 更快、更整洁、更高效
$('.main:first')- 类选择器比 ID 选择器慢,:first过滤器慢。
-> 你不需要:first,只会$('.main')返回你想要的结果。
其他选项-
$('.main')- 比 ID 选择器慢
$('div.main')- 比 ID 选择器慢,仍然比 $('.main') 好
是的。如果该元素不是该类的第一个元素,则main不会选择该元素。
$("#main") 可能会快一点,因为它使用了 ID。
此外,如果您在原始元素之前添加另一个带有 .main 类的元素,那么它将失败。
ID 选择器更强大,因为 jQuery 遍历 DOM ID 应该是唯一的(意味着每个视图只有 1 个),而您可以有多个主类。