54

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

var $a = $('#rad1')

或者

var a = $('#rad1')
4

6 回答 6

77

不,没有真正的区别。

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

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

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

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


在同一个站点上阅读jQuery 信息标签:

变量命名约定

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

var $this = $(this);
于 2012-04-18T07:13:44.483 回答
4

它只是为了表明它是一个 Jquery 变量。

声明$a您正在显示您的变量用于 JQuery 对象,这只是一个符号。所以最易读的事情是用 $ 表示法声明 Jquery 变量

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

和没有 $ 符号的 DOM 元素

var obj = document.getElementById("obj");
于 2012-04-18T07:13:25.767 回答
1

没有区别。这只是一个编码约定,可帮助识别该变量表示一个 jquery 包装的对象。

于 2012-04-18T07:13:33.200 回答
1

没有区别,它只是编码约定,检查一下

于 2012-04-18T07:13:48.740 回答
0

组合也可以正常工作:

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

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

用法

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

约西列夫

于 2016-02-24T11:42:41.173 回答
0

我认为这种情况应该说明记住(当然,分配'$')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>
于 2017-02-22T12:17:59.217 回答