Heim  >  Artikel  >  Web-Frontend  >  Was ist der Unterschied zwischen this und $(this) in jQuery?

Was ist der Unterschied zwischen this und $(this) in jQuery?

青灯夜游
青灯夜游Original
2020-11-26 16:15:233409Durchsuche

Unterschied: Dies bedeutet, dass das aktuelle Kontextobjekt ein HTML-DOM-Objekt ist, das die Eigenschaften und Methoden aufrufen kann, die dem HTML-Objekt gehören, und das durch „$(this)“ dargestellte Kontextobjekt ein JQuery-Kontextobjekt ist, das dies kann Rufen Sie JQuery-Methoden und Attributwerte auf.

Was ist der Unterschied zwischen this und $(this) in jQuery?

Verwandte Empfehlungen: „jQuery-Video-Tutorial

Der Unterschied zwischen der Verwendung von this und $(this) in jquery. Schauen Sie sich zunächst den folgenden Code an:

$("#textbox").hover(
    function() {
        this.title = "Test";  },
    fucntion() {
        this.title = "OK”;  }
);

Dies hier ist tatsächlich ein HTML-Element (Textfeld): Das Textfeld verfügt über ein Textattribut, daher ist es kein Problem, es auf diese Weise zu schreiben. Wenn Sie dies jedoch durch $(this) ersetzen, ist das nicht der Fall und es wird ein Fehler gemeldet. Die folgende Schreibweise ist falsch:

$("#textbox").hover(
    function() {
        $(this).title = "Test";  },
    function() {
        $(this).title = "OK";  }
);

$(this) hier ist ein JQuery-Objekt, und das jQuery-Objekt hat kein Titelattribut, daher ist diese Schreibweise falsch. JQuery verfügt über die Methode attr() zum Abrufen/Festlegen von Attributen von DOM-Objekten. Die korrekte Schreibweise sollte also so aussehen: Daher sollte die Verwendung von $( uniformly this) anstelle von this die bessere Wahl sein.

Was generiert $()? Tatsächlich bedeutet $()=jquery(), dass ein jquery-Objekt zurückgegeben wird.

$(this) ist ein jquery-Objekt, das jquery-Methoden wie aufrufen kann click (), keyup(). $()生成的是什么呢?实际上$()=jquery(),那么也就是说返回的是一个jquery的对象。

$(this)jquery对象,能调用jquery的方法,例如click()keyup()

$("#textbox").hover(
    function() {
        $(this).attr('title', 'Test');
    },
    function() {
        $(this).attr('title', 'OK');
    }
);

结论:
this,表示当前的上下文对象是一个html DOM对象,可以调用html对象所拥有的属性,方法。
$(this),代表的上下文对象是一个jquery的上下文对象,可以调用jquery

$(function () {
    $('button').click(function () {
       alert(this);//this 表示原生的DOM
       //$(this)表示当前对象,这里指的是button
   }) 
});
Fazit:
dies zeigt an, dass das aktuelle Kontextobjekt ein html DOM-Objekt ist, das html aufrufen kann Code> Eigenschaften und Methoden, die dem Objekt gehören. <br><code>$(this), das dargestellte Kontextobjekt ist ein Kontextobjekt von jquery, das die Methoden und Attributwerte von jquery. <p><a href="https://www.php.cn/course.html" target="_blank" textvalue="编程学习">Weitere Kenntnisse zum Thema Programmierung finden Sie unter: </a>Programmieren lernen</p>! ! 🎜

Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen this und $(this) in jQuery?. 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