如题,请教 在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).