jQuery – 将多个选择器缓存到一个变量?

我需要对jQuery缓存进行一些澄清。 据我所知,这个:

var $element = $('#element'); 

如果我们不止一次地引用这个元素(通过引用我的意思是改变它,或者在它上面听一个事件),我们会受益。 它是否正确?

如果它是正确的,以下代码是否有意义,为什么?

 var $button = $('#submit, #save, #reset'); 

我看到的是jQuery允许我这样做(因此将相同的好主题应用于所有3个按钮),但我无法在任何地方找到文档,这有助于以任何方式执行。

是的,它是有道理的,但只有当你必须用这些按钮作为一组不止一次做某事时。 这不太可能。

我建议你不要在jquery优化方面做太多努力,直到你真正做高频率的事情(比如动画)。

这方面的性能方面几乎可以忽略不计。 你在谈论创建一个多元素数组或一个三元素数组,所有这些都是微不足道的。

基本上,jQuery为你的选择器构造一个所有可能匹配的数组并返回它。

在担心你的javascript性能之前担心其他方面。

它有助于提高性能的唯一方法是多次访问$element$button 。 当你执行$('#element') ,js在页面中搜索具有该ID的元素,并执行您要求它执行的任何操作。 下次你执行$('#element') ,它会再次查看该页面的元素。 如果你使用var $element = $('#element') ,那么下次你调用它时(使用$element ),就没有搜索,因为已经存储了引用。