📜  jQuery 中 $(this) 和 'this' 之间的区别(1)

📅  最后修改于: 2023-12-03 15:16:48.136000             🧑  作者: Mango

jQuery 中 $(this) 和 'this' 之间的区别

在 jQuery 中,使用 $(this) 和 this 可以获取到当前操作的 DOM 元素。但是它们之间存在一些区别。

$(this)

在 jQuery 中,$(this) 表示一个 jQuery 对象,它包装了当前操作的 DOM 元素,使用起来更加方便。比如:

$('button').click(function() {
  $(this).css('color', 'red');
});

在这个例子中,当点击 button 元素时,$(this) 表示的是被点击的 button 元素的 jQuery 对象,我们可以通过调用其方法来对该元素进行操作。

this

而 this 则表示当前操作的 DOM 元素本身。如果要对该元素进行原生的操作,如添加或删除 class,可以使用 this。比如:

$('button').click(function() {
  this.classList.add('active');
});

在这个例子中,当点击 button 元素时,this 表示的是被点击的 button 元素本身,我们可以直接使用原生的 classList.add 方法给该元素添加一个 active 类。

需要注意的是,在 $(function() {}) 这种情况下,this 表示的是 document 对象,而非元素。

总结

$(this) 和 this 在 jQuery 中都可以用来获取当前操作的 DOM 元素,但是它们的使用场景不同。$(this) 表示的是一个 jQuery 对象,使用起来更加方便;而 this 则表示的是元素本身,在需要进行原生操作时更加方便。在不同情况下选择合适的方式可以让代码更加精简、易读。