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