第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

章節(jié)
問答
課簽
筆記
評論
占位
占位

get與eq的區(qū)別

.eq()  減少匹配元素的集合,根據index索引值,精確指定索引對象。
.get() 通過檢索匹配jQuery對象得到對應的DOM元素。

同樣是返回元素,那么eq與get有什么區(qū)別呢?

eq返回的是一個jQuery對象,get返回的是一個DOM對象。舉個例子:

$( "li" ).get( 0 ).css("color", "red"); //錯誤
$( "li" ).eq( 0 ).css("color", "red"); //正確

get方法本質上是把jQuery對象轉換成DOM對象,但是css屬于jQuery構造器的,DOM是不存在這個方法的,如果需要用jQuery的方法,我們必須這樣寫:

var li = $( "li" ).get( 0 );
$( li ).css("color", "red"); //用$包裝

取出DOM對象li,然后用$再次包裝,使之轉變成jQuery對象,才能調用css方法,這樣要分2步寫太麻煩了,所以jQuery給我們提供了一個便捷方法eq()。

eq()的實現原理就是在上面代碼中的把eq方法內部轉成jQuery對象:

eq: function( i ) {
    var len = this.length,
        j = +i + ( i < 0 ? len : 0 );
    return this.pushStack( j >= 0 && j < len ? [ this[j] ] : [] );

上面實現代碼的邏輯就是跟get是一樣的,區(qū)別就是通過了pushStack產生了一個新的jQuery對象。

jQuery的考慮很周到,通過eq方法只能產生一個新的對象,但是如果需要的是一個合集對象要怎么處理?因此jQuery便提供了一個slice方法:

語法:

.slice( start [, end ] )

作用:

根據指定的下標范圍,過濾匹配的元素集合,并生成一個新的 jQuery 對象。

因為是數組對象,意味著我們可以用silce來直接取值了,所以針對合集對象我們可以這樣寫代碼:

var arr = []
arr.push( this.slice(start[,end]) )     
this.pushStack(arr)

這個this指的是jQuery對象,因為jQuery對象是數組集合,所以我們可以通過原生的silce方法直接取到集合數,然后通過包裝處理即可了。

slice: function() {
    return this.pushStack( slice.apply( this, arguments ) );
},

任務

?不會了怎么辦
||

提問題

寫筆記

公開筆記
提交
||

請驗證,完成請求

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

加群二維碼

打開微信掃碼自動綁定

您還未綁定服務號

綁定后可得到

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

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

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

邀請您關注公眾號
關注后,及時獲悉本課程動態(tài)

舉報

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

手記推薦

更多

本次提問將花費2個積分

你的積分不足,無法發(fā)表

為什么扣積分?

本次提問將花費2個積分

繼續(xù)發(fā)表請點擊 "確定"

為什么扣積分?