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方法除外)