In diesem Artikel wird die Funktion jQuery.each () eingehend erläutert - eine der wichtigsten und am häufigsten verwendeten Funktionen in JQuery. Wir werden seine Bedeutung untersuchen und lernen, wie man sie benutzt.
Kernpunkte
Was ist jQuery.each ()?
jQuery's Jedes () -Funktion wird verwendet, um jedes Element des Ziel -JQuery -Objekts zu durchschleifen - ein Objekt, das ein oder mehrere DOM -Elemente enthält, und alle JQuery -Funktionen aufzudecken. Es ist sehr nützlich für Multi-Element-DOM-Operationen und Iterationen über willkürliche Array- und Objekteigenschaften.
Zusätzlich zu dieser Funktion bietet JQuery auch eine Helferfunktion mit demselben Namen, der ohne vorherige Auswahl oder Erstellung von DOM -Elementen aufgerufen werden kann.
jQuery.each () syntax
Schauen wir uns die praktische Anwendung verschiedener Modi an.
Das folgende Beispiel wählt jedes <div> Element auf der Webseite aus und gibt den Index und die ID jedes Elements aus:
<div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>// DOM 元素
$('div').each(function(index, value) {
console.log(`div${index}: ${this.id}`);
});</pre><div class="contentsignin">Nach dem Login kopieren</div></div><div class="contentsignin">Nach dem Login kopieren</div></div>
<p> Die möglichen Ausgabeergebnisse sind: </p>
<div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false"><code>div0:header
div1:main
div2:footer</code></pre><div class="contentsignin">Nach dem Login kopieren</div></div><div class="contentsignin">Nach dem Login kopieren</div></div>
<p> Diese Version verwendet die <code>$(selector).each()
-Funktion von JQuery, keine praktischen Funktionen.
Das nächste Beispiel zeigt die Verwendung praktischer Funktionen. In diesem Fall wird das Objekt als erster Parameter angegeben. In diesem Beispiel werden wir zeigen, wie man das Array durchläuft:
// 数组 const arr = [ 'one', 'two', 'three', 'four', 'five' ]; $.each(arr, function(index, value) { console.log(value); // 将在 "three" 后停止运行 return (value !== 'three'); }); // 输出:one two three
Im letzten Beispiel möchten wir zeigen, wie wir über die Eigenschaften eines Objekts iterieren können:
// 对象 const obj = { one: 1, two: 2, three: 3, four: 4, five: 5 }; $.each(obj, function(key, value) { console.log(value); }); // 输出:1 2 3 4 5
All dies läuft darauf hinaus, die entsprechende Rückruffunktion bereitzustellen. Der Kontext der Rückruffunktion this
entspricht seinem zweiten Parameter, dem aktuellen Wert. Da der Kontext jedoch immer ein Objekt ist, muss der ursprüngliche Wert verpackt werden:
$.each({ one: 1, two: 2 } , function(key, value) { console.log(this); }); // Number { 1 } // Number { 2 }
Dies bedeutet, dass es keine strenge Gleichheit zwischen dem Wert und dem Kontext gibt.
$.each({ one: 1 } , function(key, value) { console.log(this == value); console.log(this === value); }); // true // false
Der erste Parameter ist der aktuelle Index, der eine Zahl (für Arrays) oder eine String (für Objekte) ist.
Lassen Sie uns sehen, wie die Funktion jQuery.each () in Verbindung mit JQuery -Objekten verwendet wird. Das erste Beispiel wählt alle a
Elemente auf der Seite aus und gibt ihre href
Eigenschaften aus:
$('a').each(function(index, value){ console.log(this.href); });
Das zweite Beispiel gibt jeden externen href
auf der Webseite aus (unter der Annahme nur das HTTP (S) -Protokoll):
$('a').each(function(index, value){ const link = this.href; if (link.match(/https?:\/\//)) { console.log(link); } });
Angenommen, es gibt den folgenden Link auf der Seite:
<a href="https://www.php.cn/link/9a4b930f7a36153ca68fdf211c8836a7">SitePoint</a> <a href="https://www.php.cn/link/235fba44e32ba4dd3a3f72db1a8a6846">MDN web docs</a> <a href="https://www.php.cn/link/60c4a88bac6125d490af523a8c94e5e1">Example Domain</a>
Das zweite Beispiel wird ausgegeben:
// DOM 元素 $('div').each(function(index, value) { console.log(`div${index}: ${this.id}`); });
Wir sollten beachten, dass das DOM -Element aus dem JQuery -Objekt in der Rückruffunktion, die es an jQuery.each () übergibt, "natives" Formular ist. Der Grund dafür ist, dass JQuery eigentlich nur ein Wrapper für Arrays von DOM -Elementen ist. Durch die Verwendung von jQuery.each () wird dieses Array auf die gleiche Weise wie ein normales Array iteriert. Daher werden wir nicht die Elemente der Verpackung aus der Schachtel bekommen.
Zu unserem zweiten Beispiel bedeutet dies, dass wir das Attribut des Elements durch das Schreiben this.href
erhalten können. Wenn wir die href
-Methode von JQuery verwenden möchten, müssen wir das Element wie folgt neu verpacken: attr()
. $(this).attr('href')
<code>div0:header div1:main div2:footer</code>
// 数组 const arr = [ 'one', 'two', 'three', 'four', 'five' ]; $.each(arr, function(index, value) { console.log(value); // 将在 "three" 后停止运行 return (value !== 'three'); }); // 输出:one two three
n-1 , wobei n die Anzahl der Elemente im Array ist.
// 对象 const obj = { one: 1, two: 2, three: 3, four: 4, five: 5 }; $.each(obj, function(key, value) { console.log(value); }); // 输出:1 2 3 4 5
$.each({ one: 1, two: 2 } , function(key, value) { console.log(this); }); // Number { 1 } // Number { 2 }
$.each({ one: 1 } , function(key, value) { console.log(this == value); console.log(this === value); }); // true // false
$('a').each(function(index, value){ console.log(this.href); });
$('a').each(function(index, value){ const link = this.href; if (link.match(/https?:\/\//)) { console.log(link); } });
<a href="https://www.php.cn/link/9a4b930f7a36153ca68fdf211c8836a7">SitePoint</a> <a href="https://www.php.cn/link/235fba44e32ba4dd3a3f72db1a8a6846">MDN web docs</a> <a href="https://www.php.cn/link/60c4a88bac6125d490af523a8c94e5e1">Example Domain</a>
<code>https://www.php.cn/link/9a4b930f7a36153ca68fdf211c8836a7 https://www.php.cn/link/235fba44e32ba4dd3a3f72db1a8a6846 https://www.php.cn/link/60c4a88bac6125d490af523a8c94e5e1</code>
const numbers = [1, 2, 3, 4, 5]; $.each(numbers, function(index, value){ console.log(`${index}: ${value}`); });
<code>0:1 1:2 2:3 3:4 4:5</code>
Schlussfolgerung
In diesem Artikel zeigen wir, wie wir über Dom -Elemente, Arrays und Objekte mithilfe der Funktion jQuery.each () iterieren können. Dies ist eine leistungsstarke und zeitsparende Funktion, die Entwickler in ihr eigenes Toolkit einbeziehen sollten. Wenn JQuery nicht Ihre bevorzugte Wahl ist, möchten Sie möglicherweise in Betracht ziehen, mit JavaScript native Object.keys()
und Array.prototype.forEach()
Methoden zu verwenden. Es gibt auch Bibliotheken wie Foreach, die es Ihnen ermöglichen, über Schlüsselwertpaare von Klassenarray-Objekten oder Wörterbuchobjekten zu iterieren.
Denken Sie daran: $.each()
und $(selector).each()
sind zwei verschiedene Methoden, die auf zwei verschiedene Arten definiert wurden.
(Dieser Artikel wurde im Jahr 2020 aktualisiert, um aktuelle Best Practices widerzuspiegeln und die Schlussfolgerungen über native Lösungen mit dem modernen JavaScript zu aktualisieren. Um mehr über JavaScript zu erfahren, lesen Sie unser Buch JavaScript: vom Anfänger nach Ninja, zweite Ausgabe》)
Häufig gestellte Fragen zu jQuery jeder () Funktion
Was ist der Zweck der .each () -Funktion in jQuery? Die Funktion .each () in JQuery wird verwendet, um eine Sammlung von DOM -Elementen zu iterieren und spezifische Operationen für jedes Element auszuführen.
Wie kann ich die Funktion .each () in jQuery verwenden? Sie können die Funktion .each () verwenden, indem Sie eine Reihe von Elementen mithilfe des Jquery -Selektors auswählen und dann auf dieser Auswahl .ach () aufrufen. Sie geben eine Rückruffunktion an, die die Aktion definiert, die für jedes Element ausführt, um zu finden.
Welche Parameter der Rückruffunktion verwenden .each ()? Die Rückruffunktion akzeptiert zwei Parameter: Index (der aktuelle Index des Elements in der Sammlung) und das Element (das aktuelle DOM -Element, das iteriert wird).
Wie verwendet der Indexparameter in .each () Rückruffunktion? Sie können den Indexparameter verwenden, um die Position des aktuellen Elements in der Sammlung zu verfolgen, was für bedingte Operationen oder andere Operationen sehr nützlich ist.
Was sind einige häufige Anwendungsfälle für die Funktion.each ()? Zu den gemeinsamen Anwendungsfällen gehört die Iterierung einer Liste von Elementen, um ihre Eigenschaften, Werte oder Stile zu manipulieren und benutzerdefinierte Aktionen für jedes Element in der Sammlung durchzuführen.
Das obige ist der detaillierte Inhalt von5 jQuery.each () Funktionsbeispiele. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!