jQueryのmap()とget()の詳細な分析

黄舟
黄舟オリジナル
2017-07-19 16:25:031613ブラウズ

$( " li " ) など、jQuery には「配列のような」という概念があります。コレクションを取得すると、配列のいくつかの属性が存在しますが、配列のインスタンスは false のままです。ただし、 var a=$( "li" ).get()このように処理してからinstanceof 配列は true を返します。

var a=$( "li" ).get(1) にシリアル番号を追加すると、単一の要素を取得できることに注意してください。これらの要素の性質は jQuery オブジェクトではなく、Js オブジェクトです。 jQuery メソッドを直接使用することはできません。

map() の関数には主に 2 つのステップがあります。最初のステップは走査であり、2 番目のステップは置換です。

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


まずマップが走査され、各項目が 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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。