Heim  >  Artikel  >  Web-Frontend  >  Detaillierte Analyse von map() und get() in jQuery

Detaillierte Analyse von map() und get() in jQuery

黄舟
黄舟Original
2017-07-19 16:25:031583Durchsuche

Unter jQuery gibt es ein Konzept namens „array-like“, z. B. $( „li“). Wenn eine Sammlung abgerufen wird, gibt es einige Attribute des Arrays, instanceof Array jedoch immer noch falsch. Aber var a=$( "li" ).get()Verarbeiten Sie es so und danninstanzenvon Array gibt true zurück.

Bitte beachten Sie, dass durch Hinzufügen der Seriennummer zu var a=$( "li") .get(1) ein einzelnes Element erhalten werden kann jQuery-Objekte, aber es handelt sich um ein Js-Objekt, daher können jQuery-Methoden nicht direkt verwendet werden.

Die Funktion von map() besteht hauptsächlich aus zwei Schritten: Der erste Schritt ist das Durchlaufen und der zweite Schritt das Ersetzen.

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


Karte wird zuerst durchlaufen, jedes Element gibt einen text()-Wert zurück und dann Karte Diese Werte ersetzen automatisch jeden Wert in der $("li")-Sammlung, sodass es sich zu diesem Zeitpunkt immer noch um ein Array-ähnliches Objekt handelt (da es immer noch die Hülle von $("li") ist). kein echtes Array. Wenn Sie also später eine get()-Operation hinzufügen, wird daraus ein echtes Array, sodass Sie join() verwenden können, eine für Arrays spezifische Methode.

Zum Beispiel:

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


Zusätzlich:
map() und get() können den Array-Code auch direkt wie folgt manipulieren:

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);

Das obige ist der detaillierte Inhalt vonDetaillierte Analyse von map() und get() in jQuery. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn