Есть ли какая-то конкретная причина использования $ с переменной в 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=""

Йоси Лев

Другие вопросы по тегам