虚心请教: 在each()方法中,关键字this和$(this)的区别

如题,请教 在each()方法中,关键字this和$(this)的区别

比如:对每个选中的p元素执行函数function(){}

我是该这样写:

$("p").each(function(){
[color=red]this[/color].hover(function(){ });
});

还是该这样写:

$("p").each(function(){
[color=red]$(this)[/color].hover(function(){ });
});

采用下面的写法,这种才是正确的,this指的是当前的DOM对象,在这里就是

,而$(this)是把当前的DOM对象转化成JQuery对象,这样就可以使用jquery中的方法,比如这里的hover,而this是不能的,因为p标签的DOM对象事没有hover方法的。

下面的写法是正确的。
在通常的情况下,对jquery元素的each方法中的this是指jquery对象的内容。

this关键字都指向DOM元素

$(this)是jquery对象

所以使用 $("p").each(function(){
$(this).hover(function(){ });
});

只有jquery 有hover用法

[quote]$("p").each(function(){
$(this).hover(function(){ });
}); [/quote]

1.这个你可以分析下,$("p")是选择了p对象数组。

2.如果你用this,那么就是当前的数组中的某个p而已。

3.如果你用$(this) ,那么就表示当前选中的某个指定的p Jquery对象,

4.在jquery中,所有的操作是基于jquery对象的,单用dom对象是不可以调用方法的。

总结,使用 $(this).