Quelle est la différence entre ces trois formes :
this
$this
$(this)
Quelle est la différence entre ces trois formes :
this
$this
$(this)
En typique vous les verrez généralement comme ceci (l'élément $this
l'utilisation peut varier) :
this
- Fait référence à l'élément DOM dans le gestionnaire sur lequel vous vous trouvez actuellement, mais cela peut être un tout autre objet dans d'autres situations, mais c'est toujours le contexte.$this
- Généralement créé par var $this = $(this)
une version mise en cache de la version enveloppée de jQuery pour plus d'efficacité (ou enchaîner les $(this)
pour obtenir la même chose dans de nombreux cas).$(this)
- La version enveloppée par jQuery de l'élément, ce qui vous permet d'accéder aux éléments suivants toutes ses méthodes (ceux qui sont dans $.fn
spécifiquement).Dans le gestionnaire d'événements de jQuery :
this
- est un élément du DOM auquel vous avez assigné le gestionnaire d'événement$(this)
- est un objet jQuery créé à partir de cet élément$this
- typiquement, une variable contenant le résultat de $(this)
Plus généralement :
este à l'intérieur d'une fonction fait référence à l'objet ou à la primitive sur lequel la fonction est appelée. Lorsqu'une fonction est utilisée comme constructeur, elle fait référence au nouvel objet en cours de construction. En dehors de toute fonction this
fait référence à l'objet global ( window
en mode non strict).
Vous pouvez trouver un bonne explication détaillée sur MDN .
$this est un nom de variable. En JavaScript, les noms de variables peuvent commencer par $
. Certains aiment l'utiliser comme préfixe pour les variables contenant des objets jQuery :
var body = document.body; // no prefix for a plain DOM object
var $body = jQuery('body'); // prefix for the same object wrapped in jQuery
var $this = $(this);
$(this) est un appel de fonction, où $
est un nom de fonction, et this
est son argument :
var $ = alert;
$(this); // [object Window]
$
n'a pas de signification particulière en soi. Mais jQuery définit l'élément $()
comme raccourci de la fonction jQuery()
. En fonction de ses arguments, cette fonction peut faire beaucoup de choses différentes .
Votre question serait mieux servie avec plus de contexte.
Cependant, je suppose que vous posez des questions sur les variables dans le contexte d'un callback sur l'événement d'un élément ( click
par exemple).
this
est le contexte de votre gestionnaire (normalement l'élément DOM, dans le cas d'un gestionnaire d'événement DOM).$this
est généralement utilisé pour stocker le résultat de $(this)
$(this)
renvoie l'objet jQuery qui englobe this
- voir le Documentation sur jQuery pour plus d'informations. Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.