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')
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')
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);
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");
Il n'y a pas de différence, il s'agit simplement d'une convention de codage, vérifier ceci
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 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.