我在Stack Overflow上看到一些关于jQuery中$(this)
与$this
的讨论,它们对我来说很有意义。(例如,请参见此处的讨论。)
但是下面这个片段怎么样呢?它来自于jQuery网站插件教程,展示了链式操作的工作原理:
(function ($) {
$.fn.lockDimensions = function (type) {
return this.each(function () {
var $this = $(this);
if (!type || type == 'width') {
$this.width($this.width());
}
if (!type || type == 'height') {
$this.height($this.height());
}
});
};
})(jQuery);
$this
代表什么?就在我认为我已经理解的时候...
var $this = $(this);
这段代码是为了简化代码书写而使用的。它的作用是将this
对象转换成 jQuery 对象并赋值给$this
变量。这样在后续调用 jQuery 方法时就不需要每次都重新将this
转换成 jQuery 对象了。 - bzlm$this
是一个本地变量,用于缓存$( this )
jQuery对象。 - Šime Vidasvar $this = $(this)
这行代码的意思是将$this
赋值为当前元素$(this)
。 - Matt Ball$this !== this
- Matt:D
- Šime Vidas