在jQuery中使用$ with variable有什么特别的原因吗?

时间:2012-04-18 07:11:04

标签: jquery

我知道这是一个愚蠢的问题,但我对此有点困惑。例如,如果我的输入ID为rad1,那么下面的代码行之间有什么区别吗?

var $a = $('#rad1')

var a = $('#rad1')

6 个答案:

答案 0 :(得分:67)

没有真正的区别。

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

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

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

哦,顺便说一句,a$a都不是好的变量名......你应该使用有意义的变量名而不是abc字符。


在同一个网站上阅读jQuery info tag

变量命名约定

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

var $this = $(this);

答案 1 :(得分:4)

仅用于显示它是Jquery变量。

声明$a你表明你的变量是针对JQuery对象的,它只是一个表示法。所以最可读的是用$ notation声明Jquery变量

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

没有$符号的DOM元素

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

答案 2 :(得分:1)

没有区别。它只是一个编码约定来帮助识别变量代表一个jquery包装对象。

答案 3 :(得分:1)

它的编码惯例没有区别,check this

答案 4 :(得分:0)

作文也很好用:

您也可以执行以下操作来显示<div>

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

<强> USAGE

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

Yosi Lev

答案 5 :(得分:0)

我认为这个场景应该说明记忆的原因(当然,分配&#39; $&#39;)jquery和简单的javascript变量:

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