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方法除外)
Stellungnahme:Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn