0

このスニペットのjqueryapiからこの例を理解しようとしています

        var tags = this.map(function () {
        return this.tagName;
    })
            .get().join(", ");

なぜget()が必要なのですか?APIでは、get()がjQueryオブジェクトと一致するDOM要素を取得することを示しています。この場合、get()はjqオブジェクトではなく、文字列に適用されていることがわかります。get()を削除すると、次のエラーメッセージが表示されます。

Uncaught TypeError:Object[objectObject]にはメソッド'join'がありません

参加がマップで機能しないのはなぜですか?

4

2 に答える 2

2
  • ここに、thisノードのリストを持つjQueryオブジェクトがあります。(のすべての関数jQuery.fnのコンテキスト(つまり、this)は、関数を呼び出しているjQueryオブジェクトに設定されています。)

  • の呼び出しmapは、文字列のリストを含むjQueryオブジェクトを返します。map(jQueryの関数をmapECMAScript 5で導入された配列関数と混同している可能性があります)

  • の呼び出しgetは、これらの文字列のプレーンJS配列を返し、joinその配列に作用します。

の呼び出しgetは、文字列のリスト(によって返されるmap)を含むjQueryオブジェクトをプレーンなJS配列に変換して、と一緒に接着できるようにするために必要joinです。

于 2012-07-03T14:27:10.253 に答える
0

join配列(純粋なjs配列)用です。

関数は、jsプレーンに変換する必要があるjquery配列を返します

.Get() -そうします。

http://api.jquery.com/get/

jQueryオブジェクトと一致するDOM要素を取得します。

ここに画像の説明を入力してください

于 2012-07-03T14:18:10.520 に答える