jquery 插件學(xué)習(xí)(二)
demo:
jQuery.fn.test = function(){
alert('這是 jquery 對(duì)象方法 ');
}
然后,就可以在任何jquery對(duì)象中調(diào)用該方法了。
$(function(){
$('h1').click(function(){
$(this).test();
});
});
由于這里,并沒有任何地方匹配dom節(jié)點(diǎn),所以編寫全局函數(shù)也是可以的(上一節(jié)有講過哦),但是,在使用jquery對(duì)象方法時(shí),函數(shù)體內(nèi)的this關(guān)鍵字總是引用當(dāng)前的jquery對(duì)象,因此我們可以對(duì)上面的方法進(jìn)行重寫,實(shí)現(xiàn)動(dòng)態(tài)提示信息,代碼如下:
jQuery.fn.test = function(){
alert(this[0].nodeName); //提示當(dāng)前jquery對(duì)象的dom節(jié)點(diǎn)名稱
}
重點(diǎn)來了,在上面的示例中,可以看到由于jquery選擇器返回的是一個(gè)數(shù)組類型的dom節(jié)點(diǎn)集合,this指針就指向當(dāng)前這個(gè)集合,故要顯示當(dāng)前元素的節(jié)點(diǎn)名稱,就必須在this指針后面指定當(dāng)前元素的序號(hào)。
思考: 如果jquery選擇器匹配多個(gè)元素,我們?cè)撊绾螠?zhǔn)確指定當(dāng)前元素的對(duì)象呢?-----
要解決這個(gè)問題,我們不妨在當(dāng)前jquery對(duì)象方法的環(huán)境中調(diào)用each()方法,通過隱式迭代的方式,讓this指針依次飲用每一個(gè)匹配的dom元素對(duì)象,例如,針對(duì)上一個(gè)示例做進(jìn)一步的修改
jQuery.fn.test = function(){
this.each(function(){ //遍歷匹配的元素,此處的this表示對(duì)象集合
alert(this.nodeName); //提示當(dāng)前jquery對(duì)象的dom節(jié)點(diǎn)名稱(注意這里與上面的變化哦,下標(biāo)消失了)
});
}
然后,在調(diào)用方法時(shí),就不用擔(dān)心,jquery選擇器所匹配的元素有多少了。例如在下面的例子中,當(dāng)單擊不同的元素,會(huì)提示當(dāng)前的節(jié)點(diǎn)名稱
$(function(){
$('body *').click(function(){
$(this).test();
});
});
<h1>ceshi</h1>
<a>dddddddddd</a>
<input type="button" value="test"/>
<div>div元素</div>
相關(guān)文章
基于jQuery.Validate驗(yàn)證庫知識(shí)點(diǎn)的詳解
本篇文章介紹了,基于jQuery.Validate驗(yàn)證庫知識(shí)點(diǎn)的詳解。需要的朋友參考下2013-04-04uploadify多文件上傳參數(shù)設(shè)置技巧
uploadify插件配置實(shí)用比較簡單,很多開發(fā)者都喜歡使用。但是它有個(gè)缺點(diǎn)就是剛加載的時(shí)候稍微慢了一秒左右,本文通過一段代碼實(shí)例給大家介紹uploadify多文件上傳參數(shù)設(shè)置技巧,朋友們一起學(xué)習(xí)吧2015-11-11通過jQuery源碼學(xué)習(xí)javascript(三)
承接上兩篇繼續(xù)寫下去。我盡量把我明白的地方給大家說清楚。有些大家的提問我也有點(diǎn)搞不明白,如果有人能解答,再好不過了2012-12-12JQuery和HTML5 Canvas實(shí)現(xiàn)彈幕效果
這篇文章主要介紹了JQuery和HTML5 Canvas兩種方法實(shí)現(xiàn)彈幕效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-01-01ie8模式下click無反應(yīng)點(diǎn)擊option無反應(yīng)的解決方法
點(diǎn)擊select里面的option,將其賦值到上面的input,直接用jQuery寫的,問題是在用IE8打開的時(shí)候,點(diǎn)擊option沒有任何反應(yīng)2014-10-10選擇TreeView控件的樹狀數(shù)據(jù)節(jié)點(diǎn)的JS方法(jquery)
前些日子為了提高人性化選擇樹狀權(quán)限的功能,根據(jù)樹的結(jié)構(gòu)用jquery寫了個(gè)方法。2010-02-02jQuery實(shí)現(xiàn)響應(yīng)鼠標(biāo)背景變化的動(dòng)態(tài)菜單效果代碼
這篇文章主要介紹了jQuery實(shí)現(xiàn)響應(yīng)鼠標(biāo)背景變化的動(dòng)態(tài)菜單效果代碼,涉及jquery鼠標(biāo)mouseover事件操作頁面元素屬性的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-08-08Jquery鼠標(biāo)放上去顯示全名的實(shí)現(xiàn)方法
下面小編就為大家?guī)硪黄狫query鼠標(biāo)放上去顯示全名的實(shí)現(xiàn)方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-02-02