在jQuery中使用$与variables有什么特定的原因

我知道这是一个愚蠢的问题,但我有点困惑。 例如,如果我有一个ID为rad1的input,下面rad1行代码有什么不同?

 var $a = $('#rad1') 

要么

 var a = $('#rad1') 

没有,没有真正的区别。

这只是一个约定,可以帮助你记住a不是DOM元素,而是jQuery对象。

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

哦,顺便说一下, a$a都不是好的variables名…你应该使用有意义的variables名而不是abc字符。


阅读这个相同的网站上的jQuery信息标签 :

variables命名约定

jQuery包装variables通常以'$'开头,以区别于标准的JavaScript对象。

 var $this = $(this); 

这只是为了显示它是一个JQueryvariables。

声明$a你显示你的variables是JQuery对象,这只是一个符号。 所以最可读的东西是用$表示法来声明Jqueryvariables

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

和没有$表示法的DOM元素

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

没有区别。 这只是一个编码惯例,以帮助确定variables代表一个jquery包装的对象。

没有区别它的正义编码惯例, 检查这个

作曲也很好:

你也可以做这样的事情来显示一个<div>

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

用法

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

Yosi列弗

我想这个场景应该说明记住(当然,分配'$')jquery和简单的javascriptvariables的原因:

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

当设置var d = $('<div>'); 我没有findd.addClass('someclass');之间的区别d.addClass('someclass');$(d).addClass('someclass');