我知道这是一个愚蠢的问题,但我对此有点困惑。例如,如果我的输入ID为rad1
,那么下面的代码行之间有什么区别吗?
var $a = $('#rad1')
或
var a = $('#rad1')
答案 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>