在each()方法中,关键字this和$(this)的区别 ???
比如:对每个选中的p元素执行函数function(){}
我是该这样写:
$("p").each(function(){
this.hover(function(){ });
});
还是该这样写:
$("p").each(function(){
$(this).hover(function(){ });
});
解答:
采用下面的写法,这种才是正确的,this
指的是当前的DOM
对象,在这里就是<P></P>
,而$(this)
是把当前的DOM
对象转化成JQuery
对象,这样就可以使用jquery
中的方法,比如这里的hover
,而this
是不能的,因为p
标签的DOM
对象事没有hover
方法的。
$("p").each(function(){
$(this).hover(function(){ });
});
1.这个你可以分析下,$("p")
是选择了p对象数组。
2.如果你用this
,那么就是当前的数组中的某个p
而已。
3.如果你用$(this)
,那么就表示当前选中的某个指定的p Jquery
对象,
4.在jquery
中,所有的操作是基于jquery
对象的,单用dom
对象是不可以调用方法的。
总结,使用 $(this).