📅  最后修改于: 2023-12-03 15:16:48.136000             🧑  作者: Mango
在 jQuery 中,使用 $(this) 和 this 可以获取到当前操作的 DOM 元素。但是它们之间存在一些区别。
在 jQuery 中,$(this) 表示一个 jQuery 对象,它包装了当前操作的 DOM 元素,使用起来更加方便。比如:
$('button').click(function() {
$(this).css('color', 'red');
});
在这个例子中,当点击 button 元素时,$(this) 表示的是被点击的 button 元素的 jQuery 对象,我们可以通过调用其方法来对该元素进行操作。
而 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 则表示的是元素本身,在需要进行原生操作时更加方便。在不同情况下选择合适的方式可以让代码更加精简、易读。