快速JQUERY SELECTOR点击

时间:2015-06-21 18:22:39

标签: jquery performance

我是否需要通过id元素为大文档包装类元素?

$('#id').find('.class').click 比...快 $('.class').click

另外,我想知道。 是<a onclick="function()">link</a> 比...快 selector id link with $(selector).click

1 个答案:

答案 0 :(得分:0)

我真的不认为你需要关心简单地使用类选择器的性能。我认为你提出的更大问题是两个选择器可能会选择不同的元素。

以下选择器:

$('#id').find('.class')

将找到具有ID为“id”的元素的类名“class”的所有后代元素。

第二个选择器:

$('.class')

将找到类名为“class”的所有元素。

基本上,当他们选择不同的东西时,问哪个更快是很奇怪的。第一个选择器可能是比第二个选择器更小的元素子集(并且速度更快,但可能不会让你的头发脱落)。

对于问题的第二部分,它可能取决于“更快”的含义。如果使用jQuery或JavaScript绑定事件侦听器,则需要一些时间在DOM中查找该元素。但是,您还可以延迟连接这些侦听器,直到页面的重要部分加载完毕为止。通过onclick属性附加事件监听器是完全合理的,但它实际上取决于项目的大小和范围。在HTML文件中包含所有事件侦听器逻辑可能会非常笨拙。使用选择器可以让您更好地分离(除其他外)。我鼓励你做更多的研究,因为在网上有很多关于这个话题的讨论。