jquery 外掛學習(二)_jquery
May 16, 2016 pm 05:51 PM
外掛
創建全域函數只需透過為jquery物件添加屬性即可,而創建jquery物件的方法也可以透過為jquery.fn添加屬性來實現,實際上jquery.fn物件就是jquery.prototype原型物件的別名,使用別名更方便引用。
demo:
複製程式碼 程式碼如下:
alert('這是jquery 物件方法');
}
然後,就可以在任何jquery物件中呼叫該方法了。 }
複製程式碼 程式碼如下:
$(function(){
$(function(){
$(' h1').click(function(){
$(this).test();
});
}); $(function(){
$(' h1').click(function(){
$(this).test();
});
由於這裡,並沒有任何地方匹配dom節點,所以寫全域函數也是可以的(上一節有講過哦),但是,在使用jquery對象方法時,函數體內的this關鍵字總是引用當前的jquery對象,因此我們可以對上面的方法進行重寫,實現動態提示訊息,程式碼如下: 複製程式碼
程式碼如下:
jQuery.fn.test = function(){
alert(this[0].nodeName); //提示當前jquery物件的dom節點名稱
}
jQuery.fn.test = function(){
alert(this[0].nodeName); //提示當前jquery物件的dom節點名稱
}
重點來了,在上面的範例中,可以看到由於jquery選擇器傳回的是一個陣列類型的dom節點集合,this指標就指向目前這個集合,故要顯示目前元素的節點名稱,就必須在this指標後面指定目前元素的序號。
思考: 如果jquery選擇器符合多個元素,我們該如何準確指定目前元素的物件呢? -----
要解決這個問題,我們不妨在當前jquery物件方法的環境中呼叫each()方法,透過隱式迭代的方式,讓this指針依序飲用每一個匹配的dom元素對象,例如,針對上一個示例做進一步的修改 代碼如下:
jQuery.fn.test = function(){
this.each(function(){ //遍歷匹配的元素,此處的this表示物件集合
alert(this.nodeName); //提示目前jquery物件的dom節點名稱(注意這裡與上面的變化哦,下標消失了)
});
}
然後,在呼叫方法時,就不用擔心,jquery選擇器所匹配的元素有多少了。例如在下面的範例中,當點擊不同的元素,會提示目前的節點名稱 程式碼如下:
$(function(){
$('body *').click(function(){
$(this).test();
});
});
程式碼如下:
程式碼如下:
div元素
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前
By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
擊敗分裂小說需要多長時間?
3 週前
By DDD
公眾號網頁更新緩存難題:如何避免版本更新後舊緩存影響用戶體驗?
3 週前
By 王林

熱門文章
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前
By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
擊敗分裂小說需要多長時間?
3 週前
By DDD
公眾號網頁更新緩存難題:如何避免版本更新後舊緩存影響用戶體驗?
3 週前
By 王林

熱門文章標籤

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)