在jQuery中,$(this)和this有什么不同?为什么它们有时给出相同的结果,而有时表现不同?
发布于 2010-09-10 22:43:14
$(this)用jQuery功能包装了this。
例如,以下代码将失败:
$('.someDiv').onClick(function(){
// this refers to the DOM element so the following line would fail
this.fadeOut(100);
});所以我们将this包装在jQuery中:
$('.someDiv').onClick(function(){
// wrap this in jQuery so we can use jQuery fadeOut
$(this).fadeOut(100);
});发布于 2010-09-10 22:45:06
$(this)用jQuery函数装饰this指向的任何对象。典型的用例是让this引用一个DOM元素(比如<div>)。然后,通过编写$(this),您可以使用该<div>上的所有jQuery应用编程接口函数。
如果this已经引用了一个jQuery对象--通常是一个经过jQuery修饰的DOM对象--那么调用$(this)将不会有任何效果,因为它已经被修饰过了。
发布于 2010-09-10 22:43:53
如果在当前上下文中,如果this不是jQuery对象,则可以通过将其包装在jQuery中使其成为$()元素。当您的元素已经是jQuery表达式的结果时,这种情况下的this已经是一个jQuery对象。因此,在这种情况下,它们的工作方式类似
https://stackoverflow.com/questions/3685508
复制相似问题