Есть ли какая-то конкретная причина использования $с переменной в jQuery
Я знаю, что это глупый вопрос, но я немного смущен этим. Например, если у меня есть вход с идентификатором: rad1
, есть ли разница между нижними строками кода?
var $a = $('#rad1')
или
var a = $('#rad1')
Ответы
Ответ 1
Нет никакой реальной разницы.
Это просто соглашение, которое помогает вам помнить, что a
не является элементом DOM, а является объектом jQuery.
var a = document.getElementById('a');
a.innerHTML //fine
var $a = $('#a');
$a.html() // fine
Охх, и, кстати, ни a
, ни $a
не являются хорошими именами переменных... вы должны использовать значащие имена переменных, а не символы abc.
Прочитайте тег jQuery info на этом же сайте:
Переменные соглашения об именах
Обозначенные переменные jQuery обычно называются начиная с '$', чтобы отличать их от стандартных объектов JavaScript.
var $this = $(this);
Ответ 2
Это только для того, чтобы показать, что это переменная JQuery.
Объявляя $a
, вы показываете, что ваша переменная предназначена для объектов JQuery, это всего лишь обозначение. Таким образом, наиболее читаемым будет объявление переменной Jquery с $notation
var $obj=$("#obj");
И элемент DOM без $notation
var obj = document.getElementById("obj");
Ответ 3
Нет никакой разницы. Это просто соглашение о кодировании, помогающее идентифицировать, что переменная представляет собой обернутый jquery объект.
Ответ 4
Нет никакого различия в его правиле кодирования, проверить это
Ответ 5
Композиция также отлично работает:
Вы также можете сделать что-то подобное, чтобы показать <div>
:
function getCompTable(divId){
var $d = $('#' + divId);
$d.show();
}
ИСПОЛЬЗОВАНИЕ
getCompTable('compListDiv'); // compListDiv - is a div id=""
Йоси Лев
Ответ 6
Я думаю, что этот сценарий должен проиллюстрировать причину запоминания (конечно, присваивая "$" ) 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 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>
Ответ 7
При установке var d = $('<div>');
я не нашел разницы между d.addClass('someclass');
и $(d).addClass('someclass');