2012-04-18 5 views
40

Ich weiß, es ist eine dumme Frage, aber ich bin ein bisschen verwirrt damit. Zum Beispiel, wenn ich eine Eingabe mit einer ID: rad1 habe, gibt es einen Unterschied zwischen den folgenden Codezeilen?

var $a = $('#rad1') 

oder

var a = $('#rad1') 
+2

möglich Duplikat von [Warum würde eine JavaScript-Variable mit einem Dollarzeichen beginnen?] (http://stackoverflow.com/questions/205853/why-would-a-javascript-variable-start -mit einem -dollar-sign) –

Antwort

56

Nein, es gibt keinen wirklichen Unterschied.

Es ist nur eine Konvention, die Ihnen hilft, sich daran zu erinnern, dass a nicht das DOM-Element ist, aber es ist ein jQuery-Objekt.

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

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

Ohhh, und durch die Art und Weise, weder a oder $a sind gute Variablennamen ... Sie aussagekräftige Variablennamen nicht abc Zeichen verwenden sollten.


die jQuery info tag auf dieser gleichen Seite lesen:

Variable Naming Conventions

jQuery Variablen eingewickelt werden in der Regel mit '$' genannt beginnen sie von Standard-JavaScript-Objekte zu unterscheiden.

var $this = $(this); 
+3

Ich komme von Java-Hintergrund .. und diese Antwort erleuchtet wirklich meinen Tag. Ich weiß nur, dass ich in JS $ in var Name verwenden kann. – swdev

+5

Lustige Sache ist, können Sie $ in Java Variablen verwenden gut] (http://stackoverflow.com/questions/7484210/what-is-the-meaning-of-in-a-variable-name). – zb226

3

Es ist nur für die zeigen, dass es sich um eine JQuery Variable ist.

Deklarieren $a Sie zeigen, dass Ihre Variable für JQuery-Objekte ist, es ist nur eine Notation. Also die meisten lesbar Sache wird JQuery Variablen mit $ Notation

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

Und DOM-Element ohne Notation $

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

Es gibt keinen Unterschied zu erklären. Es handelt sich lediglich um eine Codierungskonvention, mit der festgestellt werden kann, dass die Variable ein umgebendes jquery-Objekt darstellt.

1

kein Unterschied sein gerade Codierung Konvention check this

0

Zusammensetzung funktioniert auch:

Sie können auch so etwas tun, um eine <div> zu zeigen:

function getCompTable(divId){ 
    var $d = $('#' + divId); 
    $d.show(); 
} 

USAGE

getCompTable('compListDiv'); // compListDiv - is a div id="" 

Yosi Lev

0

ich denke, das Szenario der Grund für die Erinnerung (vom Kurs abgekommen, '$' zuweisen) zeigen sollte jquery und einfache JavaScript-Variablen:

<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> 
-1

Wenn var d = $('<div>'); Einstellung habe ich nicht einen Unterschied zwischen d.addClass('someclass'); und $(d).addClass('someclass'); gefunden

+0

Keine Antwort. Schlage vor, wir entfernen. –

+0

Nicht nur verwende ich ähnliche Code in der ursprünglichen Frage zur Verfügung gestellt, ich reagiere auch mit meinen eigenen Erkenntnissen: Ich habe keinen Unterschied gefunden. – luenib

Verwandte Themen