Maison >interface Web >js tutoriel >Quand dois-je utiliser « $(this) » plutôt que « this » dans jQuery ?

Quand dois-je utiliser « $(this) » plutôt que « this » dans jQuery ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-28 05:54:10235parcourir

When Should I Use `$(this)` vs. `this` in jQuery?

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!

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