我是否需要通过id元素为大文档包装类元素?
是$('#id').find('.class').click
比...快
$('.class').click
?
另外,我想知道。
是<a onclick="function()">link</a>
比...快
selector id link with $(selector).click
?
答案 0 :(得分:0)
我真的不认为你需要关心简单地使用类选择器的性能。我认为你提出的更大问题是两个选择器可能会选择不同的元素。
以下选择器:
$('#id').find('.class')
将找到具有ID为“id”的元素的类名“class”的所有后代元素。
第二个选择器:
$('.class')
将找到类名为“class”的所有元素。
基本上,当他们选择不同的东西时,问哪个更快是很奇怪的。第一个选择器可能是比第二个选择器更小的元素子集(并且速度更快,但可能不会让你的头发脱落)。
对于问题的第二部分,它可能取决于“更快”的含义。如果使用jQuery或JavaScript绑定事件侦听器,则需要一些时间在DOM中查找该元素。但是,您还可以延迟连接这些侦听器,直到页面的重要部分加载完毕为止。通过onclick
属性附加事件监听器是完全合理的,但它实际上取决于项目的大小和范围。在HTML文件中包含所有事件侦听器逻辑可能会非常笨拙。使用选择器可以让您更好地分离(除其他外)。我鼓励你做更多的研究,因为在网上有很多关于这个话题的讨论。