我是否需要用大元素的id元素包装类元素?快速JQUERY SELECTOR点击
是$('#id').find('.class').click
快于 $('.class').click
?
另外,我想知道。 是<a onclick="function()">link</a>
快于 selector id link with $(selector).click
?
我是否需要用大元素的id元素包装类元素?快速JQUERY SELECTOR点击
是$('#id').find('.class').click
快于 $('.class').click
?
另外,我想知道。 是<a onclick="function()">link</a>
快于 selector id link with $(selector).click
?
我真的不认为你需要关注简单地使用类选择器的性能。我想你所问的更大的问题是这两个选择器可能会选择不同的元素。
以下选择:
$('#id').find('.class')
是要找到与类名ID为“ID”元素的“类”的所有子孙元素。
中的第二选择:
$('.class')
是要找到与类名“类”的所有元素。
基本上,当他们选择不同的东西时,询问哪个更快,这很奇怪。第一个选择器可能是第二个元素的一个较小的子集(并且速度会更快,但可能不会让你的头发掉毛)。
对于问题的第二部分,它可能取决于你的意思是“更快”。如果您使用jQuery或JavaScript来绑定事件侦听器,则需要一些时间在DOM中查找元素。但是,您也有能够延迟附加这些监听器的优势,直到加载页面的重要部分之后。通过onclick
属性附加一个事件监听器是非常合理的,但它确实取决于项目的大小和范围。在HTML文件中使用所有的事件监听器逻辑会变得非常笨拙。使用选择器可以让您更好地分离(除其他外)。我鼓励你做更多的研究,因为在线上有关于这个主题的大量讨论。
如果我的工作只是不同类的元素(按钮),我是否需要将它们包装或通过id元素进行分组以获得快速响应点击功能? – wglihk