Maison >interface Web >js tutoriel >Quelle est la différence entre this et $(this) dans jQuery ?

Quelle est la différence entre this et $(this) dans jQuery ?

青灯夜游
青灯夜游original
2020-11-26 16:15:233437parcourir

Différence : cela signifie que l'objet de contexte actuel est un objet DOM html, et vous pouvez appeler les propriétés et méthodes appartenant à l'objet html tandis que l'objet de contexte représenté par "$(this)" est un jquery ; objet contextuel, vous pouvez appeler les méthodes et les valeurs d'attribut de jquery.

Quelle est la différence entre this et $(this) dans jQuery ?

Recommandations associées : "Tutoriel vidéo jQuery"

La différence d'utilisation de this et $(this) dans jquery. Regardez d'abord le code suivant :

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

Ceci est en fait un élément HTML (textbox). La zone de texte a l'attribut text, donc il n'y a aucun problème à l'écrire comme ça. Mais si vous remplacez this par $(this), ce n'est pas le cas et une erreur sera signalée. L'écriture suivante est fausse :

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

$(this) voici un objet JQuery, et l'objet jQuery n'a pas d'attribut title, donc cette écriture est fausse. JQuery a la méthode attr() qui peut obtenir/définir les attributs des objets DOM, donc la bonne façon de l'écrire devrait être comme ceci :

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

L'avantage d'utiliser JQuery est qu'il encapsule les opérations de divers navigateurs versions sur les objets DOM, ce serait donc un meilleur choix d'utiliser $(this) uniformément au lieu de ceci.

$()Qu'est-ce qui est généré ? En fait, $()=jquery() signifie qu'un objet de jquery est renvoyé.

$(this) est l'objet jquery et peut appeler les méthodes de jquery, telles que click(), keyup().

$(function () {
    $('button').click(function () {
       alert(this);//this 表示原生的DOM
       //$(this)表示当前对象,这里指的是button
   }) 
});

Conclusion :
this signifie que l'objet de contexte actuel est un objet html DOM, et vous pouvez appeler les propriétés et méthodes appartenant à l'objet html.
$(this), l'objet contextuel représenté est un objet contextuel de jquery, qui peut appeler les méthodes et valeurs d'attribut de jquery.

Pour plus de connaissances sur la programmation, veuillez visiter : Apprendre la programmation ! !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn