我知道這是一個愚蠢的問題,但我有點困惑與此。例如,如果我有一個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 info tag:
變量命名約定
jQuery的包裹變量通常命名以「$」,從標準的JavaScript對象區別開來。
var $this = $(this);
這只是爲表明這是一個jQuery變量。
聲明$a
你顯示你的變量是用於JQuery對象的,它只是一個表示法。所以,最可讀的東西將會與$符號
var $obj=$("#obj");
和DOM元素來聲明Jquery的變量沒有$符號
var obj = document.getElementById("obj");
有沒有區別。這只是一個編碼約定,用於幫助識別變量代表jquery包裝對象。
沒有區別的只是編碼約定,check this
的組合物也能正常工作:
你也可以做這樣的事情,以顯示<div>
:
function getCompTable(divId){
var $d = $('#' + divId);
$d.show();
}
用法
getCompTable('compListDiv'); // compListDiv - is a div id=""
Yosi利
我覺得這種情況應該說明的記憶(關當然,分配 '$')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>
當設置var d = $('<div>');
我沒有發現d.addClass('someclass');
和$(d).addClass('someclass');
之間的區別
沒有答案。建議我們刪除。 – 2017-12-07 12:03:18
不僅我使用原始問題中提供的類似代碼,我也以我自己的發現作出迴應:我沒有發現有什麼區別。 – luenib 2017-12-21 02:46:35
可能的重複[爲什麼JavaScript變量以美元符號開頭?](http://stackoverflow.com/questions/205853/why-would-a-javascript-variable-start -with-A -dollar-sign) – 2015-07-27 11:46:25