Heim >Web-Frontend >js-Tutorial >Wann sollte ich „$(this)' vs. „this' in jQuery verwenden?

Wann sollte ich „$(this)' vs. „this' in jQuery verwenden?

Linda Hamilton
Linda HamiltonOriginal
2024-12-28 05:54:10178Durchsuche

When Should I Use `$(this)` vs. `this` in jQuery?

Unterscheidung zwischen „$(this)“ und „this“ in jQuery

Beim Durcharbeiten des jQuery-Tutorials „Erste Schritte“ sind Sie auf ein gestoßen subtiler Unterschied zwischen der direkten Verwendung von '$(this)' und 'this'. In den von Ihnen bereitgestellten Codebeispielen:

$("#orderedlist").find("li").each(function (i) {
    $(this).append(" BAM! " + i);
});
$("#reset").click(function () {
    $("form").each(function () {
        this.reset();
    });
});

Sie haben richtig abgeleitet, dass der Hauptunterschied in der jQuery-spezifischen Funktionalität liegt.

'$(this)' für jQuery-Operationen

Im ersten Beispiel wird „$(this)“ innerhalb der „each“-Funktion verwendet, um über die „li“-Elemente zu iterieren. Indem Sie „this“ in „$(this)“ kapseln, konvertieren Sie es in ein jQuery-Objekt. Dadurch können Sie jQuery-Methoden wie „append“ verwenden, um die Elemente direkt zu manipulieren.

'this' für Nicht-jQuery-Funktionen

Im zweiten Beispiel ist 'this ' wird innerhalb der Click-Handler-Funktion für die Reset-Schaltfläche verwendet. Hier zielen Sie auf das Element „form“ ab. Das Zurücksetzen eines Formulars ist eine Standard-HTML-Funktion, die keinen jQuery-Eingriff erfordert. Daher können Sie „reset“ direkt auf „this“ aufrufen.

Wann jedes Formular verwendet werden soll

Als allgemeine Regel gilt, wann immer Sie jQuery-spezifisch ausführen möchten Für Operationen an Elementen verwenden Sie „$(this)“. Dadurch wird sichergestellt, dass das Element als jQuery-Objekt gekapselt ist und Sie Zugriff auf seine vollständigen Funktionen erhalten. Für Nicht-jQuery-Vorgänge wie das Zurücksetzen eines Formulars können Sie „this“ direkt verwenden.

Beziehung merken

Um die Sache zu vereinfachen, beachten Sie die folgende Äquivalenz:

$(this)[0] === this

Das bedeutet, dass Sie jederzeit auf das ursprüngliche DOM-Element zugreifen können, indem Sie das jQuery-Objekt mit indizieren '[0]'.

Das obige ist der detaillierte Inhalt vonWann sollte ich „$(this)' vs. „this' in jQuery verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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