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!