在jQuery中缓存$(this)是一种最佳实践?

时间:2012-03-07 14:28:39

标签: jquery caching this

我们都知道缓存对DOM的调用是好的,所以不要再多次调用$('#someElement'),只需将其保存到var $ someElement并使用它。

但是在事件监听器中使用$(this)时它是否相同? 应该缓存$(this)吗?

谢谢。

3 个答案:

答案 0 :(得分:7)

如果您多次致电$(this),最好做var $this = $(this);

之类的事情

答案 1 :(得分:6)

每次调用$(this)$(selector)时,它都是一个函数调用来创建一个新的jQuery对象...所以如果你已经创建了一次,那么缓存将保存调用一个函数来创建一个同样的对象再次

答案 2 :(得分:2)

如果您稍后在事件函数中引用相同的元素,是的。在函数之外,这样做没有任何意义,因为this的值会发生变化。