Distinguer entre '$(this)' et 'this' dans jQuery
En parcourant le didacticiel de démarrage de jQuery, vous avez rencontré un différence subtile entre l'utilisation directe de '$(this)' et 'this'. Dans les exemples de code que vous avez fournis :
$("#orderedlist").find("li").each(function (i) { $(this).append(" BAM! " + i); }); $("#reset").click(function () { $("form").each(function () { this.reset(); }); });
Vous avez correctement déduit que la distinction clé réside dans la fonctionnalité spécifique à jQuery.
'$(this)' pour les opérations jQuery
Dans le premier exemple, '$(this)' est utilisé dans la fonction 'each' pour parcourir les éléments 'li'. En encapsulant « ceci » dans « $(this) », vous le convertissez en un objet jQuery. Cela vous permet d'utiliser des méthodes jQuery comme 'append' pour manipuler les éléments directement.
'this' pour les fonctions non jQuery
Dans le deuxième exemple, 'this' ' est utilisé dans la fonction de gestionnaire de clics pour le bouton de réinitialisation. Ici, vous ciblez l'élément 'form'. La réinitialisation d'un formulaire est une fonctionnalité HTML standard qui ne nécessite pas l'intervention de jQuery. Par conséquent, vous pouvez appeler « réinitialiser » directement sur « ceci ».
Quand utiliser chaque formulaire
En règle générale, chaque fois que vous souhaitez effectuer des tâches spécifiques à jQuery opérations sur les éléments, utilisez '$(this)'. Cela garantit que l'élément est encapsulé en tant qu'objet jQuery et vous donne accès à toutes ses capacités. Pour les opérations non-jQuery comme la réinitialisation d'un formulaire, vous pouvez utiliser « ceci » directement.
Se souvenir de la relation
Pour simplifier les choses, gardez à l'esprit l'équivalence suivante :
$(this)[0] === this
Cela signifie que vous pouvez accéder à tout moment à l'élément DOM d'origine en indexant l'objet jQuery avec '[0]'.
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!