Die Iteration von jquery stellt eine Durchquerung dar, die in explizite Iteration und implizite Iteration unterteilt ist. Der Unterschied besteht darin, dass die Methode „.each ()“ eine typische explizite Iteration ist und jQuery-Methoden nur solche sein können Durch die sequentielle und implizite Iteration des aktuellen Elements kann die jQuery-Methode eine bestimmte Operation für alle Elemente im Objekt (die die Bedingungen erfüllen) gleichzeitig ausführen, ohne sich darum zu kümmern, um welches Element es sich derzeit handelt, und sie abschließen auf einmal.
Das Betriebssystem für dieses Tutorial: Windows 10-System, jQuery3.6.0-Version, Dell G3-Computer.
Die Iteration von jquery stellt eine Durchquerung dar, die in explizite Iteration und implizite Iteration unterteilt ist:
Explizite Iteration bedeutet, dass nur eine bestimmte jQuery-Methode ausgeführt werden kann Das aktuelle Element wird einzeln und nacheinander aufgerufen.
Implizite Iteration bedeutet, dass eine bestimmte jQuery-Methode eine bestimmte Operation für alle Elemente im Objekt (die die Bedingungen erfüllen) gleichzeitig und unwissentlich ausführen kann Alle Elemente sind fertig. Sie wissen nicht, welches Element gerade operiert wird, da Sie alles auf einmal tun können.
Beispiel für eine Formeliteration:
<ul> <li>foo</li> <li>bar</li> </ul> $( “li” ).addClass( “bar” );
Sie müssen sich nicht darum kümmern, welches Element gerade an der Reihe ist, da alle li-Elemente auf einmal hinzugefügt werden Nehmen Sie am Barkurs teil.
Dies ist immer noch die Funktion, wenn ich sie mit expliziter Iteration schreiben möchte, wie soll ich sie schreiben?
$( “li” ).each(function() { $( this ).addClass( “foo” ); });
Fügen Sie Klassen nacheinander zu li hinzu. Obwohl die Funktion auf diese Weise realisiert werden kann, ist sie offensichtlich ausführlicher und wird nicht empfohlen.
Lassen Sie mich Ihnen ein weiteres Beispiel geben, das nur mit expliziter Iteration geschrieben werden kann: (Der HTML-Teil des Codes ist derselbe wie oben)
$( “li” ).each(function( index ) { console.log( index + “: ” + $( this ).text() ); });
.each()-Methode ist ein typisches Beispiel für explizite Iteration: Zuerst habe ich mit dem Selektor alle li-Elemente ausgewählt, um ein Objekt zu bilden, sodass das Objekt wie folgt aussieht (ähnlich dem JSON-Format): [ { 0: li }, { 1: li } ] jedes Objekt Es gibt auch viele eigene Eigenschaften ...
Kehren Sie zur Methode .each()
zurück. Wenn das erste li-Element durchlaufen wird, werden die ersten Informationen gedruckt; wenn das zweite li-Element durchlaufen wird, werden die zweiten Informationen gedruckt. .each()
方法。当遍历到第一个li元素的时候,就打印第一条信息;遍历到第二个 li 的时候,再打印第二条信息。
再回顾一下刚才那一段代码:
$( “li” ).each(function( index ) { console.log( index + “: ” + $( this ).text() ); });
index是一个形参,表示当前轮到的那个元素的下标。既然是形参,不用 index,用 i 也行。
那么问题来了:为什么这个function里写一个参数,这个参数就代表下标了呢?答案是:.each()
$(selector).each(function( index , element ){ //do something })index ist ein formaler Parameter, der den Index des Elements angibt, das gerade an der Reihe ist. Da es sich um einen formalen Parameter handelt, ist kein Index erforderlich, ich kann verwendet werden.
Dann stellt sich die Frage: Warum ist in dieser Funktion ein Parameter geschrieben, der den Index darstellt? Die Antwort lautet: die Funktion der Methode .each()
, die zwei Parameter hat.
$( “li” ).each(function( i,element ) { console.log($(element)); console.log( i + “: ” + $(element).text() ); });Der erste Parameter der Funktion ist der Index der Ganzzahl, und der zweite Parameter wird verwendet, um: zurückzugeben Das aktuell gelesene Element, z. B. der gerade gelesene Code, gibt jedes Element zurück. Es ist also immer noch der Code, wir können ihn auch so schreiben: #🎜🎜##🎜🎜#rrreee#🎜🎜#Manchmal schreiben wir kein Element, nur weil die Verwendung dieses Schlüsselworts das Element ersetzen kann. Dies ist gleich Element. Ebenso sind $(this) und $(element) gleich. Nachdem wir dieses oder ein Elementelement mit dem Selektor $() ausgewählt haben, können wir sie sehr bequem mit der von jQuery bereitgestellten API bedienen. Verwenden Sie beispielsweise die Methode text(), um den Textinhalt des Elements zu lesen, oder verwenden Sie CSS ()-Methode zum Ändern des Stils.
Das obige ist der detaillierte Inhalt vonWas bedeutet Iteration in JQuery?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!