我知道这是一个愚蠢的问题,但我对此有点困惑。例如,如果我有一个带有 ID: 的输入,rad1
那么下面的代码行之间有什么区别吗?
var $a = $('#rad1')
或者
var a = $('#rad1')
我知道这是一个愚蠢的问题,但我对此有点困惑。例如,如果我有一个带有 ID: 的输入,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
是好的变量名……您应该使用有意义的变量名而不是 abc 字符。
在同一个站点上阅读jQuery 信息标签:
变量命名约定
jQuery 包装的变量通常以“$”开头,以区别于标准 JavaScript 对象。
var $this = $(this);
它只是为了表明它是一个 Jquery 变量。
声明$a
您正在显示您的变量用于 JQuery 对象,这只是一个符号。所以最易读的事情是用 $ 表示法声明 Jquery 变量
var $obj=$("#obj");
和没有 $ 符号的 DOM 元素
var obj = document.getElementById("obj");
没有区别。这只是一个编码约定,可帮助识别该变量表示一个 jquery 包装的对象。
没有区别,它只是编码约定,检查一下
组合也可以正常工作:
您还可以执行以下操作来显示<div>
:
function getCompTable(divId){
var $d = $('#' + divId);
$d.show();
}
用法
getCompTable('compListDiv'); // compListDiv - is a div id=""
约西列夫
我认为这种情况应该说明记住(当然,分配'$')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>