问题描述
如题,请教 在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).
解决方案三:
所以使用 $("p").each(function(){ $(this).hover(function(){ }); }); 只有jquery 有hover用法
解决方案四:
this关键字都指向DOM元素 $(this)是jquery对象
解决方案五:
下面的写法是正确的。在通常的情况下,对jquery元素的each方法中的this是指jquery对象的内容。
时间: 2024-09-10 15:35:34