例如:
$(this).test().
$(this).test().hhide ().height();
要實現類似的連寫行為,就應該在每個插件方法中,傳回一個jquery對象,除非方法需要明確傳回值。回傳的jquery物件通常就是this所引用的物件。如果使用each()方法迭代this,則可以直接傳回迭代的結果。針對上一節的範例,進一步修改複製程式碼
程式碼如下:
fnjQuery. .test = function(){
return this.each(function(){ //遍歷匹配的元素,此處的this表示物件集合
alert(this.nodeName); //提示當前jquery物件的dom節點名稱
})
}
然後,我們就可以在應用範例中連寫行為了,例如,在下面的範例中,先彈出提示節點的名稱的信息,然後使用目前節點名稱改寫目前元素內包含的訊息,最後在慢慢隱藏該元素。 複製程式碼
程式碼如下:
$('body *').click(>
$('body *').click(function( ){ $(this).test().html(this.nodeName).hide(1000); });