国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

jquery 插件學習(二)

2024-05-06 14:21:28
字體:
來源:轉載
供稿:網友
創建全局函數只需通過為jquery對象添加屬性即可,而創建jquery對象的方法也可以通過為jquery.fn添加屬性來實現,實際上jquery.fn對象就是jquery.prototype原型對象的別名,使用別名更方便引用。

demo:
代碼如下:
jQuery.fn.test = function(){
alert('這是 jquery 對象方法 ');
}

然后,就可以在任何jquery對象中調用該方法了。
代碼如下:
$(function(){
$('h1').click(function(){
$(this).test();
});
});

由于這里,并沒有任何地方匹配dom節點,所以編寫全局函數也是可以的(上一節有講過哦),但是,在使用jquery對象方法時,函數體內的this關鍵字總是引用當前的jquery對象,因此我們可以對上面的方法進行重寫,實現動態提示信息,代碼如下:
代碼如下:
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();
});
});

代碼如下:
<h1>ceshi</h1>
<a>dddddddddd</a>
<input type="button" value="test"/>
<div>div元素</div>
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 右玉县| 章丘市| 花莲县| 扎赉特旗| 白山市| 池州市| 伊通| 青神县| 黑龙江省| 溆浦县| 广汉市| 壤塘县| 始兴县| 定兴县| 陇南市| 宜丰县| 会昌县| 罗城| 澄江县| 琼结县| 岳阳县| 平山县| 新宁县| 陇川县| 巴林左旗| 望谟县| 左贡县| 洛扎县| 霍城县| 文昌市| 瓮安县| 丰都县| 南宁市| 江门市| 五台县| 广西| 家居| 建始县| 澄江县| 青川县| 丽江市|