首頁  >  文章  >  web前端  >  jQuery中map()與get()的具體分析

jQuery中map()與get()的具體分析

黄舟
黄舟原創
2017-07-19 16:25:031585瀏覽

jQuery下有個概念叫“類別數組”,例如$( " li " ),當取到一個集合的時候,會有數組的一些屬性,但是instancseof Array仍然是false。但是var a=$( "li" ).get()這樣處理一下,然後instancseof Array就回傳true。

    要注意var a=$( "li" ).get(1)裡頭加序號可以取到單一元素,這些元素的性質不是jQuery對象,而是Js對象,所以不可直接用jQuery方法。

    map()的功能主要有兩步,第一步就是遍歷,第二步就是替換。

  $( " li " ).map( function(  ){
    return  $(this).text(  );  // 注意return关键字不可少
} )


    map先遍歷,每一項都回傳一個text()值,然後map會將這些值會自動去替換$("li")集合的每一項值,所以這個時候還是個類別數組(因為還是$(" li ")的殼子),不是個真正的數組。於是後面加個get()操作就變成真正的陣列了,於是可以用join()這樣專屬於陣列的方法。

    如:    

#
    $( " li " ).map( function(  ){
        return  $(this).text(  );   
    } ).get(  ).join("%")            // 拼接成字符串,中间用“%”隔开


##補充:map()和get()也可以直接操縱陣列程式碼如下:

var arrayObj=["www","xxx","ddd"];
var ww=$.map(arrayObj,function(i){
                      return i;
              }).join(",");
console.log(ww);
var tt=$(":checkbox").map(function(){
                     return this.value;
          }).get().join(",");
console.log(tt);

以上是jQuery中map()與get()的具體分析的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn