Que fait la partie this
de la ligne suivante de jQuery?Que fait le mot 'this' dans la ligne suivante de jQuery?
$('span:visible:first', this);
Que fait la partie this
de la ligne suivante de jQuery?Que fait le mot 'this' dans la ligne suivante de jQuery?
$('span:visible:first', this);
Elle limite la recherche spécifiée dans le premier argument dans le contexte de l'objet this
.
Seuls les enfants de this
qui correspondent aux exigences spécifiées seront sélectionnés. Sans le contexte, la recherche s'appliquera à l'ensemble du document.
De l'docs:
jQuery (sélecteur, [contexte])
contexte A DOM Element, Document ou jQuery à utiliser comme contexte
Comme le this
mot-clé est l'objet courant, cela dépend de l'endroit où ce code est placé. Si vous spécifiez un deuxième paramètre, il est utilisé comme contexte pour la recherche, c'est-à-dire qu'il ne recherchera que des éléments dans ce contexte.
Si vous l'utilisez seul, this
est identique à window
, donc c'est la même chose que $('span:visible:first', window)
. Si vous l'utilisez à l'intérieur d'un gestionnaire d'événements, this
est l'élément sur lequel l'événement a été déclenché, il ne recherchera donc que les correspondances dans cet élément.
Légère correction: le contexte par défaut est 'document' et non' window', ce qui peut être important lorsqu'on utilise '.context' plus tard dans la chaîne. –
@Nick Craver: Bon, j'ai ajouté 'window' au code pour qu'il soit complètement équivalent. – Guffa
tournent autour Il serait peut-être l'explication la plus simple, it gets turned into this:
$(this).find('span:visible:first');
Il est donc à l'aide .find()
pour obtenir tous les descendants de this
(quel que soit cet élément est) qui correspondent à votre sélection 'span:visible:first'
.
Devrait dire 'à cet objet et c'est des enfants' –
@Coronatus oui, clarifié. –
'this' ne * correspondra pas, il * seulement * regarde à l'intérieur des enfants, voici une démo simple montrant que: http://www.jsfiddle.net/nick_craver/C4Unc/ –