8
votes

jQuery $ ceci vs $ (this) dans le développement du plugin

Je me demandais pourquoi dans tant de plugins de JQuery $ (Ceci) est prêt à pointer à $ ceci, voici un exemple, si j'ai les deux plugins suivants inclus sur une page:

(function($) {
   jQuery.fn.pluginTwo = function() {
      return this.each(function() {
         var trigger = $(this); <--
         alert(trigger);
      });
   };
})(jQuery)


1 commentaires

Juste pour clarifier ... dans l'exemple ci-dessus $ ('. MyotherClass'). Plugintwo (); retournera le premier élément de la matrice suivante: $ ('. myclass')


3 Réponses :


12
votes

$ Ceci est une personne standard utilise pour mettre en cache l'objet JQuery $ (Ceci) dans une variable.

Vous pouvez l'appeler ce que vous souhaitez, certaines personnes aiment y référer comme $ soi. P>

EG P>

var $self = $(this)


2 commentaires

Le point serait que cela devrait être «var $ ceci» dans l'exemple ci-dessus, alors?


... de votre réponse, oui. Me considère comme la question initiale liée à $ CETTE SCOPING - et, en effet, que l'affiche est correcte (qu'une variable doit être locale) et qu'il suffit d'avoir deux plug-ins (a) utilisez-la comme une convention, non pas parce que Il a une signification inhérente et (b) ne le compromet pas correctement.



2
votes

Si vous effectuez un certain nombre de commandes différentes avec un élément enveloppé dans un objet JQuery, il est plus performant pour obtenir l'élément (comme un ensemble emballé) une seule fois et stocker cela dans une variable locale xxx < / Pré>

Notez l'utilisation de var à la portée locale CUT


0 commentaires

9
votes

$ est un caractère légitime pour les noms de variable et de fonction dans JavaScript. Cela pourrait être déroutant si vous venez de PHP où $ est utilisé uniquement pour signifier une variable uniquement (m'a prise de temps pour réaliser).

  • dans jQuery, $ est un alias pour la fonction jQuery , qui est la fonction principale qui gère la sélection DOM. $ ("# Header ul.Menu") est identique à celui jQuery ("# ​​en-tête UL.Menu") . $ est simplement utilisé pour la brièveté.

  • Ce est un terme spécial en JavaScript (pas JQ), ce qui signifie que l'élément actuel (dans les formulaires, vous pouvez voir this.submit () par exemple).

  • $ (this) signifie "appelez la fonction jQuery avec JavaScript ce ".

  • $ CU est simplement une variable, car $ est un caractère valide. Vous pouvez définir $ CU à n'importe quelle valeur que vous aimez et il est entièrement non liée au de JavaScript, ce . En général, je suggère d'utiliser $ pour les noms de variables pour éviter toute confusion avec la fonction JQuery. Cependant, il peut être utile d'utiliser $ var pour désigner des objets JQuery par opposition aux variables JavaScript normales.


2 commentaires

En fait, je suggère d'utiliser $ comme premier caractère d'une variable lors de l'utilisation de jQuery. Je l'utilise tout le temps pour désigner le fait qu'une certaine variable est un objet JQuery, tel que $ ceci = $ (ceci).


@Em c'est une idée fine , je pense que je pourrais commencer sur cela.