为了账号安全,请及时绑定邮箱和手机立即绑定

后面这个$(this)中的this不是已经是jQuery对象了吗?为什么还要用$()呢

$('p').click(function(){
   // 把 p 元素转化成 jQuery 的对象
   var $this= $(this) 
   $this.css('color','red')
})

正在回答

7 回答

任何事件函数内的this通指原生元素本身,想包装成为jq对象就需要转换,要么也可以”this.style.属性 = 属性值”这种原生态方法处理。

jq仅仅只是js引用的一个库文件(为了节省开发时间,当然一些经验丰富的开发人员都有自己的js开发库),没必要搞的那么复杂,熟悉jq就用jq,熟悉js就用js,当然懒得管兼容性问题,就多用jq

0 回复 有任何疑惑可以回复我~

this其实是一个html 元素。 
$this 只是个变量名,加$是为说明其是个jquery对象。 
而$(this)是个转换,将this表示的dom对象转为jquery对象,这样就可以使用jquery提供的方法操作

1 回复 有任何疑惑可以回复我~

 var $this= $(this) 这是将DOM中的this转换为jQuerythis的过程, $(this) 中的this此时不是jQuery对象,而是指向html元素对象p; $this中的this是转换了的jQuery对象。

初学者的理解,要是有不对的地方欢迎各位大佬批评指正。

2 回复 有任何疑惑可以回复我~

this 谁调用就代表是谁  你这个点击事件的this调用者 是p标签   $.fn.add=function(){console.log(this)}; 这里面 $('p').add()   输出的this是$('p'),这里面就是$('p')调用这个方法   不是说方法里面this代表p标签  而是调用者是p标签

0 回复 有任何疑惑可以回复我~

this就是当前对象的属性和参数的传递(本人理解不深,望大佬指正)

0 回复 有任何疑惑可以回复我~

那$(this)中的this具体是指的什么呢? p 还是 $('p')

0 回复 有任何疑惑可以回复我~

this是javascript中的对象,$(this)是jQuery中的对象;.css()是jQuery中的方法,只能使用jQuery对象调用

1 回复 有任何疑惑可以回复我~
#1

春林初盛_ 提问者

那 $(this) 中的 this 具体是指的什么呢? p 还是 $('p')
2018-05-04 回复 有任何疑惑可以回复我~
#2

慕丝6361662 回复 春林初盛_ 提问者

this指的是p元素
2018-05-08 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

后面这个$(this)中的this不是已经是jQuery对象了吗?为什么还要用$()呢

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信