鏈?zhǔn)骄幊蹋[式迭代是jQuery的一個特性,它支持以鏈條的形式,不用顯示的迭代多層數(shù)據(jù)。

成都創(chuàng)新互聯(lián)專注于房縣企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,商城網(wǎng)站建設(shè)。房縣網(wǎng)站建設(shè)公司,為房縣等地區(qū)提供建站服務(wù)。全流程按需定制網(wǎng)站,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
舉個列子:
//普通做法是這樣的
obj.name
=
'小明';
obj.age
=
155;
//鏈?zhǔn)骄幊淌沁@樣的。
obj.name('小明').age(15);
$("input").after("pone/p").after("ptwo/p);
這就是方法鏈的編程風(fēng)格,after的返回值就是調(diào)用它的對象
1、jquery選擇器$('selector')返回的不是數(shù)組,而是封裝好的jquery對象。但這個對象有一個特別的地方,就是查詢到的節(jié)點(diǎn)被以下標(biāo)為屬性,添加到了jquery對象上,所以它看起來像數(shù)組,因?yàn)樗嬖谝恍傩允菙?shù)字;
2、jquery對象有哪些屬性和方法?
我們可以理解,$('selector')返回了一個對象obj,obj[0]....obj[i]總是返回查詢到的第i個節(jié)點(diǎn)。除此之外,jquery對象還被通過prototype添加了一些方法,即:
jQuery.prototype.each?=?function(){}
jQuery.prototype.hasClass?=?function(){}
jQuery.prototype.hide?=?function(){}
jQuery.prototype.css?=?function(){}
jQuery.prototype.attr?=?function(){}
等等。這樣的話,$('selector')返回的對象就可以調(diào)用這些方法,比如obj.attr('name')、obj.css('color', 'red')。
3、jquery方法如何處理多個節(jié)點(diǎn)?
實(shí)際上,以上諸如hide、css、attr等方法,在jquery內(nèi)部都是通過循環(huán)來處理各個節(jié)點(diǎn)的。但是,如果是要獲取節(jié)點(diǎn)屬性,比如obj.attr('name'),顯然這個只能返回一個字符串,所以類似的方法都是獲取節(jié)點(diǎn)集合中的第一個節(jié)點(diǎn)的屬性。也就是說,雖然返回的節(jié)點(diǎn)很多,但只有第一個會被處理。
4、為什么jquery可以鏈?zhǔn)秸{(diào)用?
在jquery中,很多同名的方法通過參數(shù)個數(shù)的不同實(shí)現(xiàn)不同的功能,比如css方法,如果傳一個參數(shù)則表示獲取css屬性;如果傳兩個參數(shù),則表示給節(jié)點(diǎn)添加某個屬性,并賦值為第二個參數(shù)。attr、width等也是這樣的處理。對于方法的返回值,除了獲取屬性值、獲取css值等需要返回實(shí)際值的方法外,當(dāng)css方法、attr方法表示為為節(jié)點(diǎn)添加屬性、css樣式時(shí),是不需要返回值的,但jquery讓這些方法返回了this,也就是返回了調(diào)用者自身,所以可以鏈?zhǔn)秸{(diào)用。
return this;//返回對象自身。
例子:
function?Test()?{
var?self?=?this;
self.testStr?=?'My?name?is?';
self.name?=?function(?name?)?{
self.testStr?+=?name?+'?';
return?self;
};
self.age?=?function(?age?)?{
self.testStr?+=?'.I?m?'?+?age?+'?years?old.'
return?self;
};
self.end?=?function()?{
return?self.testStr;
};
}
var?setProfile?=?new?Test();
//然后就可以進(jìn)行鏈?zhǔn)讲僮髁恕?/p>
console.log(setProfile.name('Steve').age(22).end());//
直接復(fù)制在控制臺輸入,就可以進(jìn)行調(diào)試了
1、首先新建html文檔,向下查找兄弟標(biāo)簽:.next()。
2、jquery支持鏈?zhǔn)讲僮鳎蛳虏檎倚值軜?biāo)簽的兄弟標(biāo)簽:.next().next()。
3、接著向下查找所有兄弟標(biāo)簽:nextAll(),向下查找一直找到某個條件為止:nextUntil('條件')。
4、向上查找兄弟標(biāo)簽:.prev(),向上查找所有兄弟標(biāo)簽:prevAll(),向上查找一直找到某個條件為止:prevUntil('條件')。
5、最后查找父標(biāo)簽:parent(),查找所有父標(biāo)簽:parents(),如果沒有人攔著,會一直找找到最上面的父標(biāo)簽(沒什么用),條件滿足時(shí)停止查找:parentsUntil('body') 。
當(dāng)前題目:jquery鏈?zhǔn)?jquery鏈?zhǔn)讲僮鲗?shí)例
路徑分享:http://chinadenli.net/article10/dsidhgo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)、面包屑導(dǎo)航、微信小程序、網(wǎng)站收錄、定制開發(fā)、品牌網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)