56 votes

Y a-t-il une raison spécifique à l'utilisation de $ avec une variable dans jQuery ?

Je sais que c'est une question idiote, mais je suis un peu perdue. Par exemple, si j'ai une entrée avec un ID : rad1 Y a-t-il une différence entre les lignes de code ci-dessous ?

var $a = $('#rad1')

ou

var a = $('#rad1')

81voto

gdoron Points 61066

Non, il n'y a pas de réelle différence.

Il s'agit simplement d'une convention qui vous aide à vous rappeler que a n'est pas l'élément DOM mais un objet jQuery.

var a = document.getElementById('a');
a.innerHTML  //fine

var $a = $('#a');
$a.html()   // fine

Ohhh, et au fait, ni l'un ni l'autre a o $a sont de bons noms de variables ... vous devez utiliser des noms de variables significatifs et non des caractères abc.


Lire le Balise d'information jQuery sur ce même site :

Conventions d'appellation des variables

Les variables enveloppées de jQuery sont généralement nommées en commençant par "$" afin de les distinguer des objets JavaScript standard.

var $this = $(this);

5voto

Chuck Norris Points 8240

C'est seulement pour montrer qu'il s'agit d'une variable Jquery.

Déclarer $a vous montrez que votre variable est pour les objets JQuery, c'est juste une notation. Donc la chose la plus lisible sera de déclarer une variable JQuery avec la notation $

var $obj=$("#obj");

Et élément DOM sans la notation $

var obj = document.getElementById("obj");

1voto

kinakuta Points 6960

Il n'y a pas de différence. Il s'agit simplement d'une convention de codage qui permet d'identifier que la variable représente un objet enveloppé par Jquery.

1voto

Il n'y a pas de différence, il s'agit simplement d'une convention de codage, vérifier ceci

1voto

Shiv Points 1

Je pense que ce scénario devrait illustrer la raison pour laquelle il faut se souvenir (bien sûr, en assignant '$') de jquery et de variables javascript simples :

<form id='myform' >
  <input id="name" type="text" value="Peter" />
</form>

 <script>

 $(document).ready(function(){
      var name = document.getElementById('name');
  var $name = $('#name');

  console.log(name.value);   // javascript's properties are available 
       console.log($name.value);  //it is undefined  (worth of notice)

  console.log(name.val());   // error!  name.val is not a function !  (jquery function will not be available)
  console.log($name.val());    // jquery functions are available

});

 </script>

Prograide.com

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.

Powered by:

X