对于this和$(this)的个人理解 |
本文标签:this,$(this) 复制代码 代码如下: jQuery.prototype.test=function(){ this.css("color","#99");//这里的this是jquery对象,而不是dom对象 alert(this[0]);//这里的this[0]指的是dom节点对象 } 复制代码 代码如下: $("body").click(function(){ $(this).test(); $(this).test().html(this.nodeName).hide(10000); }) 在页面上使用click方法的时候相当于new了一个Jquery对象然后调用他的click方法,方法里面的参数是一个javascript的function函数,里面的this指的是javascript对象,this是javascript自身的 语法关键字,它指向一个javascript对象,所以可以使用所指向的目标javascript对象所拥有的方法 而jQuery.prototype.test相当于在就query对象中新建一个test的方法,所以里面的this理所应当的就是就jquery对象 通过this[0]可以把jquery对象转化成dom节点对象 因为this永远指向调用该方法(函数)的那个对象(call,apply方法除外) |