亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

章節
問答
課簽
筆記
評論
占位
占位

仿棧與隊列的操作

jQuery既然是模仿的數組結構,那么肯定會實現一套類數組的處理方法,比如常見的棧與隊列操作push、pop、shift、unshift、求和、遍歷循環each、排序及篩選等一系的擴展方法。

jQuery對象棧是一個便于Dom的查找,提供的一系列方法,jQuery可以是集合元素,那么我們怎么快速的找到集合中對應的目標元素呢?

jQuery提供了.get()、:index()、 :lt()、:gt()、:even()及 :odd()這類索引值相關的選擇器,他們的作用可以過濾他們前面的匹配表達式的集合元素,篩選的依據就是這個元素在原先匹配集合中的順序。

我們來分別看一下這幾個選擇器的實現原理:

get方法--是通過檢索匹配jQuery對象得到對應的DOM元素,如下代碼實現:

get: function(num) {
    return num != null ?
    // Return just the one element from the set
    (num < 0 ? this[num + this.length] : this[num]) :
    // Return all the elements in a clean array
    slice.call(this);
}

原理很簡單,因為jQuery查詢出來的是一個數組的DOM集合,所以就可以按照數組的方法通過下標的索引取值,當然如果num的值超出范圍,比如小于元素數量的負數或等于或大于元素的數量的數,那么它將返回undefined。 假設我們頁面上有一個簡單的無序列表,如下代碼:

<ul>
  <li id="foo">foo</li>
  <li id="bar">bar</li>
</ul>

如果指定了index參數,.get()則會獲取單個元素,如下代碼:

console.log( $( "li" ).get( 0 ) );

由于索引 index 是以 0 開始計數的,所以上面代碼返回了第一個列表項<li id="foo">foo</li>。

然而,這種語法缺少某些 .get() 所具有的附加功能,比如可以指定索引值為負值:

console.log( $( "li" ).get(-1) );

負的索引值表示從匹配的集合中從末尾開始倒數,所以上面這個例子將會返回列表中最后一項:<li id="bar">bar</li>。

由于是數組的關系,所以我們有幾個快速方法,比如頭跟尾的取值:

first: function() {
    return this.eq( 0 );
},

last: function() {
    return this.eq(-1);
},

任務

?不會了怎么辦
||

提問題

寫筆記

公開筆記
提交
||

請驗證,完成請求

由于請求次數過多,請先驗證,完成再次請求

加群二維碼

打開微信掃碼自動綁定

您還未綁定服務號

綁定后可得到

  • · 粉絲專屬優惠福利
  • · 大咖直播交流干貨
  • · 課程更新,問題答復提醒
  • · 賬號支付安全提醒

收藏課程后,能更快找到我哦~

使用 Ctrl+D 可將課程添加到書簽

邀請您關注公眾號
關注后,及時獲悉本課程動態

舉報

0/150
提交
取消
全部 精華 我要發布
全部 我要發布
最熱 最新
只看我的

手記推薦

更多

本次提問將花費2個積分

你的積分不足,無法發表

為什么扣積分?

本次提問將花費2個積分

繼續發表請點擊 "確定"

為什么扣積分?