Heim  >  Artikel  >  Web-Frontend  >  Detaillierte Erklärung des Unterschieds zwischen $.each und $(selector).each() in JQuery_jquery

Detaillierte Erklärung des Unterschieds zwischen $.each und $(selector).each() in JQuery_jquery

WBOY
WBOYOriginal
2016-05-16 16:09:501089Durchsuche

Eine allgemeine Traversierungsfunktion, die zum Traversieren von Objekten und Arrays verwendet werden kann. Arrays und Pseudo-Array-Objekte, die ein Längenattribut enthalten (Pseudo-Array-Objekte wie das Argumentobjekt einer Funktion), werden mit einem numerischen Index ab 0 durchlaufen zu length-1, Andere Objekte werden durch ihre Eigenschaften durchlaufen.

$.each() unterscheidet sich von $(selector).each(). Letzteres wird speziell zum Durchlaufen von JQuery-Objekten verwendet. Ersteres kann zum Durchlaufen jeder Sammlung (ob es sich um ein Array oder ein Objekt handelt) verwendet werden. Wenn es sich um ein Array handelt, übergibt die Rückruffunktion den Index des Arrays und den entsprechenden Wert (der Wert kann auch über das Schlüsselwort this abgerufen werden, aber JavaScript umschließt diesen Wert immer als Objekt – unabhängig davon, ob es sich um eine Zeichenfolge oder einen String handelt). eine Zahl) und die Methode gibt das durchquerte Objekt zurück.

Beispiel:————Array übergeben

Code kopieren Der Code lautet wie folgt:







<script><br> <br> $.each([52, 97], function(index, value) {<br> alarm(index ': ' value);<br> });<br> <br> </script>



//Ausgabe

0:52
1:97

Beispiel:————Wenn eine Karte als Sammlung verwendet wird, übergibt die Callback-Funktion jedes Mal ein Schlüssel-Wert-Paar

Code kopieren Der Code lautet wie folgt:







<script><br> <br> var map = {<br> „brennbar“: „brennbar“,<br> ‚duh‘: ‚nein duh‘<br> };<br> $.each(map, function(key, value) {<br> alarm(key ‘: ‘ value);<br> });<br> <br> </script>



//Ausgabe

brennbar: brennbar
duh: nein duh

Beispiel:——Sie können $.each() beenden, wenn in der Rückruffunktion „false“ zurückgegeben wird. Wenn nicht „false“ zurückgegeben wird, verhält es sich wie bei der Verwendung von continue in einer for-Schleife und wird sofort eingegeben die nächste Durchquerung

Code kopieren Der Code lautet wie folgt:





div { color:blue; }
div#fünf { color:red; }










<script><br> var arr = [ „eins“, „zwei“, „drei“, „vier“, „fünf“ ];//array<br> var obj = { one:1, two:2, three:3, four:4, five:5 } // Object<br> jQuery.each(arr, function() { // dieser angegebene Wert<br> $(“#” this).text(“Mine is ” this „.“); // Dies zeigt auf den Wert des Arrays, z. B. eins, zwei<br>          return (this != „two“); // Wenn this = three, beende die Durchquerung<br> });<br> jQuery.each(obj, function(i, val) { // i zeigt auf den Schlüssel, val gibt den Wert an<br> ​​​ $(“#” i).append(document.createTextNode(“ – ” val));<br> });<br> </script>


// Ausgabe

Meins ist eins. – 1
Meins ist zwei. – 2
Meiner ist drei. – 3
- 4
- 5

Beispiel:——Durchlaufen Sie die Elemente des Arrays und übergeben Sie Index und Wert

Code kopieren Der Code lautet wie folgt:







<script><br> $.each( ['a','b','c'], function(i, l){<br> alarm( „Index #“ i „: “ l );<br> });<br>  <br> </script>


例子:———遍历对象的属性,传入 Schlüssel和Wert

复制代码 代码如下:







<script><br>  <br> $.each( { name: „John“, lang: „JS“ }, function(k, v){<br> Alert( „Schlüssel: „k“, Wert: „v“);<br> });<br>  <br> </script>


正自评论的例子


复制代码 代码如下:

1. 如果不想输出第一项 (使用retrun true)进入 下一遍历
 






<script><br>  <br> var myArray=["skipThis", "dothis", "andThis"];<br> $.each(myArray, function(index, value) {<br> if (index == 0) {<br> return true; // entspricht „Weiter“ mit einer normalen for-Schleife<br> }<br> // sonst Sachen machen…<br> Warnung (Index „:“ Wert);<br> });<br>  <br> </script>


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