$('p').click(function(){
// 把 p 元素转化成 jQuery 的对象
var $this= $(this)
$this.css('color','red')
})
任何事件函数内的this通指原生元素本身,想包装成为jq对象就需要转换,要么也可以”this.style.属性 = 属性值”这种原生态方法处理。
jq仅仅只是js引用的一个库文件(为了节省开发时间,当然一些经验丰富的开发人员都有自己的js开发库),没必要搞的那么复杂,熟悉jq就用jq,熟悉js就用js,当然懒得管兼容性问题,就多用jq
this其实是一个html 元素。 $
this 只是个变量名,加$
是为说明其是个jquery对象。
而$(this)是个转换,将this表示的dom对象转为jquery对象,这样就可以使用jquery提供的方法操作
var $this= $(this) 这是将DOM中的this转换为jQuerythis的过程, $(this) 中的this此时不是jQuery对象,而是指向html元素对象p; $this中的this是转换了的jQuery对象。
初学者的理解,要是有不对的地方欢迎各位大佬批评指正。
this 谁调用就代表是谁 你这个点击事件的this调用者 是p标签 $.fn.add=function(){console.log(this)}; 这里面 $('p').add() 输出的this是$('p'),这里面就是$('p')调用这个方法 不是说方法里面this代表p标签 而是调用者是p标签
this就是当前对象的属性和参数的传递(本人理解不深,望大佬指正)
那$(this)中的this具体是指的什么呢? p 还是 $('p')
this是javascript中的对象,$(this)是jQuery中的对象;.css()是jQuery中的方法,只能使用jQuery对象调用