Heim Web-Frontend js-Tutorial jQuery-Quellcode-Analyse jQuery.fn.each und jQuery.each using_jquery

jQuery-Quellcode-Analyse jQuery.fn.each und jQuery.each using_jquery

May 16, 2016 pm 04:18 PM
jquery 分析 源码 用法

Das Beispiel in diesem Artikel beschreibt die Verwendung von jQuery.fn.each und jQuery.each in der jQuery-Quellcode-Analyse. Teilen Sie es als Referenz mit allen. Die spezifische Analyse lautet wie folgt:

Beginnen wir mit dem Beispiel. Die Funktion des folgenden Codes besteht darin, jedem ausgewählten div-Element eine rote Klasse hinzuzufügen

Code kopieren Der Code lautet wie folgt:
$('div').each(function(index, elem) {

$(this).addClass('red');
}
});

Das oben verwendete .each ist jQuery.fn.each, das intern durch jQuery.each implementiert wird

Code kopieren Der Code lautet wie folgt:
jQuery.fn.each

Lassen Sie uns zunächst die offizielle API-Beschreibung veröffentlichen. Es sind nur zwei Punkte zu beachten
$(this).addClass('red') im obigen Beispiel, wobei sich dies auf das dom-Element bezieht, das gerade bearbeitet wird
Die jeweils übergebene Methode kann einen beliebigen Wert zurückgeben. Wenn der zurückgegebene Wert falsch ist, verlassen Sie die aktuelle Schleifenoperation
Code kopieren Der Code lautet wie folgt:
/**

* @description Führt eine Methode für jedes passende dom-Element im jQuery-Objekt
aus
* @param {Number} index Die Position des aktuell verarbeiteten Elements in der Sammlung

* @param {DOMElement} Element Das aktuell verarbeitete Dom-Element

*/
.
.each( function(index, Element) )

Hier sind zwei einfache Beispiele

Beispiel 1:

Rote Klasse zu allen div-Elementen auf der Seite hinzufügen

Code kopieren Der Code lautet wie folgt:
$('div').each(function(index, elem) {

$(this).addClass('red');
}
});

Beispiel 2

Fügen Sie den ersten 5 div-Elementen auf der Seite eine rote Klasse hinzu

Code kopieren Der Code lautet wie folgt:
$('div').each(function(index, elem) {

If(index>=5) return false; // Aus der Schleife ausbrechen
$(this).addClass('red');
}
});

Wie oben ist die Verwendung recht einfach, daher werde ich nicht auf Details eingehen. Weitere Informationen finden Sie unter http://api.jquery.com/each/

Der interne Quellcode wird über jQuery.each implementiert. Nachdem wir über den Quellcode von jQuery.each gesprochen haben, ist der Quellcode von jQuery.fn.each sehr einfach >
jQuery.each:

Nehmen wir zunächst ein einfaches Beispiel


Code kopieren Der Code lautet wie folgt:
$.each([52, 97], function(index, value ) {
alarm(index ': ' value ':' this);
}
});
Der Ausgabeinhalt lautet wie folgt:
0: 52-52

1
1: 97-97

Offizielle API-Beschreibung der Klasse

Außerdem sind zwei Punkte zu beachten

Dies im obigen Beispiel ist das Element in der Sammlung, also der folgende valueOfElement

Geben Sie im Rückruf „false“ zurück, um aus der Schleife auszubrechen

Code kopieren Der Code lautet wie folgt:
/**

* @description Führen Sie eine Operation für jedes Element in der Sammlung (Array oder Objekt) aus

* @param {Number|String} indexInArray Die entsprechende Position des Elements in der Sammlung (wenn die Sammlung ein Array ist, ist es eine Zahl; wenn die Sammlung ein Objekt ist, ist es ein Schlüsselwert)

* @param {AnyValue} valueOfElement Das Element in der Sammlung

*/
j
jQuery.each( Sammlung, Rückruf(indexInArray, valueOfElement) )

Beispiel 1

Code kopieren Der Code lautet wie folgt:
$.each( ['eins,'zwei','drei' , 'vier'], Funktion(Index, Wert){

If(index >= 2) return false;

​​alert( "Index:" index ", value: " value );
}
});

Beispiel 2

Das Beispiel wurde direkt von der offiziellen Website kopiert, begnügen Sie sich einfach damit

Code kopieren Der Code lautet wie folgt:
$.each( { name: "John", lang: "JS " }, Funktion(k, v){

​​alert( "Schlüssel: " k ", Wert: " v );
}
});

Quellcode:
Code kopieren Der Code lautet wie folgt:
// args ist nur für den internen Gebrauch
e
every: function( obj, callback, args ) {

var-Wert,

i = 0,

Länge = obj.länge,

isArray = isArraylike( obj ); // Ist obj ein Array-ähnliches Objekt, wie zum Beispiel {'0':'hello', '1':'world', 'length':2}, das tatsächlich jQuery-Objekte bedient

If ( args ) { // args, ich habe tatsächlich keine tatsächliche Auswirkung dieses Parameters gefunden ~~ Überspringen Sie einfach den Inhalt und schauen Sie sich den Inhalt in else an. Es gibt keinen weiteren Unterschied, außer dass die im Rückruf übergebenen Parameter unterschiedlich sind
           if ( isArray ) {
für ( ; i < Länge; i ) {
                     value = callback.apply( obj[ i ], args );
If (Wert === false) {
Pause;
                }
            }
         } sonst {
für (i in obj) {
                     value = callback.apply( obj[ i ], args );
If (Wert === false) {
Pause;
                }
            }
}
// Ein spezieller, schneller Fall für die häufigste Verwendung von jedem
} sonst {
           if ( isArray ) {                                                                                                                                                                                                       für ( ; i < Länge; i ) {
                   value = callback.call( obj[ i ], i, obj[ i ] );
If (Wert === false) {
Pause;
                }
            }
} Else {// Behandlungsobjekte
für (i in obj) {
                   value = callback.call( obj[ i ], i, obj[ i ] ); // value ist der Rückgabewert von callback
If (value === false) {// Beachten Sie hier: Wenn value === false, springen Sie direkt aus dem Zyklus
Pause;
                }
            }
}
}
Rückgabe obj;
}
},



Späterer jQuery.fn.each-Quellcode:

Es ist wirklich einfach. Solange Sie jQuery.each verstehen, sollte es Ihnen nichts ausmachen~

Code kopieren Der Code lautet wie folgt:
each: function( callback, args ) {

Geben Sie jQuery.each( this, callback, args );
zurück }
},


Fazit

Wie jQuery.extend und jQuery.fn.extend, obwohl die Codes von jQuery.each und jQuery.fn.each sehr einfach sind, spielen diese beiden Methoden auch eine sehr wichtige Rolle in jQuery Beispiel:

Code kopieren Der Code lautet wie folgt:
jQuery.each("Boolean Number String Function Array Date RegExp Object Error" .split( " "), function(i, name) {

Class2type[ "[object " name "]" ] = name.toLowerCase();
}
});

Also, meistern Sie jeden!

Ich hoffe, dass dieser Artikel für alle bei der jQuery-Programmierung hilfreich sein wird.

Erklärung dieser Website
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Ausführliche Erklärung und Einführung in die Verwendung der MySQL-ISNULL-Funktion Ausführliche Erklärung und Einführung in die Verwendung der MySQL-ISNULL-Funktion Mar 01, 2024 pm 05:24 PM

Die Funktion ISNULL() in MySQL ist eine Funktion, mit der ermittelt wird, ob ein angegebener Ausdruck oder eine angegebene Spalte NULL ist. Es gibt einen booleschen Wert zurück, 1, wenn der Ausdruck NULL ist, andernfalls 0. Die Funktion ISNULL() kann in der SELECT-Anweisung oder zur bedingten Beurteilung in der WHERE-Klausel verwendet werden. 1. Die grundlegende Syntax der Funktion ISNULL(): ISNULL(Ausdruck), wobei Ausdruck der Ausdruck ist, um zu bestimmen, ob er NULL ist oder

jQuery-Tipps: Ändern Sie schnell den Text aller a-Tags auf der Seite jQuery-Tipps: Ändern Sie schnell den Text aller a-Tags auf der Seite Feb 28, 2024 pm 09:06 PM

Titel: jQuery-Tipps: Ändern Sie schnell den Text aller Tags auf der Seite. In der Webentwicklung müssen wir häufig Elemente auf der Seite ändern und bedienen. Wenn Sie jQuery verwenden, müssen Sie manchmal den Textinhalt aller a-Tags auf der Seite gleichzeitig ändern, was Zeit und Energie sparen kann. Im Folgenden wird erläutert, wie Sie mit jQuery den Text aller Tags auf der Seite schnell ändern können, und es werden spezifische Codebeispiele angegeben. Zuerst müssen wir die jQuery-Bibliotheksdatei einführen und sicherstellen, dass der folgende Code in die Seite eingefügt wird: &lt

Verwenden Sie jQuery, um den Textinhalt aller a-Tags zu ändern Verwenden Sie jQuery, um den Textinhalt aller a-Tags zu ändern Feb 28, 2024 pm 05:42 PM

Titel: Verwenden Sie jQuery, um den Textinhalt aller Tags zu ändern. jQuery ist eine beliebte JavaScript-Bibliothek, die häufig zur Verarbeitung von DOM-Operationen verwendet wird. Bei der Webentwicklung müssen wir häufig den Textinhalt des Link-Tags (eines Tags) auf der Seite ändern. In diesem Artikel wird erläutert, wie Sie mit jQuery dieses Ziel erreichen, und es werden spezifische Codebeispiele bereitgestellt. Zuerst müssen wir die jQuery-Bibliothek in die Seite einführen. Fügen Sie den folgenden Code in die HTML-Datei ein:

Analyse der Gründe, warum das sekundäre Verzeichnis von DreamWeaver CMS nicht geöffnet werden kann Analyse der Gründe, warum das sekundäre Verzeichnis von DreamWeaver CMS nicht geöffnet werden kann Mar 13, 2024 pm 06:24 PM

Titel: Analyse der Gründe und Lösungen, warum das sekundäre Verzeichnis von DreamWeaver CMS nicht geöffnet werden kann. Dreamweaver CMS (DedeCMS) ist ein leistungsstarkes Open-Source-Content-Management-System, das häufig bei der Erstellung verschiedener Websites verwendet wird. Allerdings kann es beim Erstellen einer Website manchmal vorkommen, dass das sekundäre Verzeichnis nicht geöffnet werden kann, was zu Problemen beim normalen Betrieb der Website führt. In diesem Artikel analysieren wir die möglichen Gründe, warum das sekundäre Verzeichnis nicht geöffnet werden kann, und stellen spezifische Codebeispiele zur Lösung dieses Problems bereit. 1. Mögliche Ursachenanalyse: Pseudostatisches Regelkonfigurationsproblem: während der Verwendung

Wie kann der Quellcode von PHP-Code im Browser angezeigt werden, ohne dass er interpretiert und ausgeführt wird? Wie kann der Quellcode von PHP-Code im Browser angezeigt werden, ohne dass er interpretiert und ausgeführt wird? Mar 11, 2024 am 10:54 AM

Wie kann der Quellcode von PHP-Code im Browser angezeigt werden, ohne dass er interpretiert und ausgeführt wird? PHP ist eine serverseitige Skriptsprache, die häufig zur Entwicklung dynamischer Webseiten verwendet wird. Wenn eine PHP-Datei auf dem Server angefordert wird, interpretiert und führt der Server den darin enthaltenen PHP-Code aus und sendet den endgültigen HTML-Inhalt zur Anzeige an den Browser. Manchmal möchten wir jedoch den Quellcode der PHP-Datei direkt im Browser anzeigen, anstatt ihn auszuführen. In diesem Artikel wird erläutert, wie der Quellcode von PHP-Code im Browser angezeigt wird, ohne dass er interpretiert und ausgeführt wird. In PHP können Sie verwenden

Wie kann man feststellen, ob ein jQuery-Element ein bestimmtes Attribut hat? Wie kann man feststellen, ob ein jQuery-Element ein bestimmtes Attribut hat? Feb 29, 2024 am 09:03 AM

Wie kann man feststellen, ob ein jQuery-Element ein bestimmtes Attribut hat? Wenn Sie jQuery zum Betreiben von DOM-Elementen verwenden, stoßen Sie häufig auf Situationen, in denen Sie feststellen müssen, ob ein Element ein bestimmtes Attribut hat. In diesem Fall können wir diese Funktion einfach mit Hilfe der von jQuery bereitgestellten Methoden implementieren. Im Folgenden werden zwei häufig verwendete Methoden vorgestellt, um festzustellen, ob ein jQuery-Element über bestimmte Attribute verfügt, und um spezifische Codebeispiele anzuhängen. Methode 1: Verwenden Sie die Methode attr() und den Operator typeof //, um zu bestimmen, ob das Element ein bestimmtes Attribut hat

Korrekte Verwendung der POST-Anfrage in PHP Korrekte Verwendung der POST-Anfrage in PHP Mar 27, 2024 pm 03:15 PM

Die Verwendung von POST-Anfragen in PHP ist ein üblicher Vorgang bei der Website-Entwicklung. Daten können über POST-Anfragen an den Server gesendet werden, z. B. Formulardaten, Benutzerinformationen usw. Die ordnungsgemäße Verwendung von POST-Anfragen kann die Datensicherheit und -genauigkeit gewährleisten. Im Folgenden wird die korrekte Verwendung von POST-Anfragen in PHP vorgestellt und spezifische Codebeispiele bereitgestellt. 1. Grundprinzipien von POST-Anfragen in PHP In PHP können die über die POST-Methode übermittelten Daten mithilfe der globalen Variablen $_POST abgerufen werden. Die POST-Methode wandelt die Formularnummer in um

Analysieren Sie, ob die Hauptprogrammiersprache von Tencent Go ist Analysieren Sie, ob die Hauptprogrammiersprache von Tencent Go ist Mar 27, 2024 pm 04:21 PM

Titel: Ist Tencents wichtigste Programmiersprache Go: Eine eingehende Analyse Als Chinas führendes Technologieunternehmen hat Tencent bei der Auswahl seiner Programmiersprachen schon immer große Aufmerksamkeit auf sich gezogen. In den letzten Jahren glauben einige Leute, dass Tencent hauptsächlich Go als Hauptprogrammiersprache übernommen hat. In diesem Artikel wird eine eingehende Analyse durchgeführt, ob die Hauptprogrammiersprache von Tencent Go ist, und es werden konkrete Codebeispiele angegeben, um diese Ansicht zu untermauern. 1. Anwendung der Go-Sprache in Tencent Go ist eine von Google entwickelte Open-Source-Programmiersprache. Viele Entwickler schätzen ihre Effizienz, Parallelität und Einfachheit.

See all articles