Что означает символ $ в jQuery?

123

Что означает $знак в jQuery?

user366312
источник
вы можете сделать заголовок более информативным, вместо того, чтобы просто выглядеть как пара тегов категорий
Майкл Паулуконис
20
это хороший вопрос для новичков в jquery, таких как я. Я сколотил несколько страниц jquery путем вырезания и вставки из Интернета, и это был первый вопрос, который у меня возник о том, чем я занимаюсь.
Марк Харрисон,

Ответы:

138

Объект jQuery :)

Из документации jQuery:

По умолчанию jQuery использует "$" как ярлык для "jQuery".

Итак, используя $("#id") или jQuery("#id")то же самое.

Andrea
источник
Привет, @Andrea, я не знаю, правильно ли я задаю вопрос, я новичок в jQuery. Можем ли мы заменить этот $ любым другим символом? и если можно, то как?
Hulk
@Hulk вы можете использовать noConflit()для его замены.
супер круто
44

Странно, но факт, вы можете использовать «$» в качестве имени функции в JavaScript. Это сокращение от jQuery (). Который вы можете использовать, если хотите. jQuery можно запустить в режиме совместимости, если другая библиотека уже использует $. Просто используйте jQuery.noConflict (). $ довольно часто используется как функция выбора в JS.

В jQuery функция $ делает гораздо больше, чем просто выбор.

  1. Вы можете передать ему селектор, чтобы получить коллекцию совпадающих элементов из DOM.
  2. Вы можете передать ему функцию для запуска, когда документ будет готов (аналогично body.onload (), но лучше).
  3. Вы можете передать ему строку HTML, чтобы превратить его в элемент DOM, который затем можно вставить в документ.
  4. Вы можете передать ему элемент или элементы DOM, которые вы хотите заключить в объект jQuery.

Вот документация: https://api.jquery.com/jQuery/

Лэнс Фишер
источник
7
Вы знаете, это ДЕЙСТВИТЕЛЬНО должен быть правильный ответ на этот вопрос ... Я не могу поверить, что все эти шутливые ответы получили все положительные голоса.
reedvoid
1
Согласитесь с комментариями reedvoid. Это отражение положения дел в программировании на Javascript. Тем не менее, теперь более точная ссылка, которая отвечает на вопрос, - это api.jquery.com/jQuery
Sunny
Если $ - это функция, то как мы вызываем для нее метод noConflict ()? Это было бы возможно, если бы $ был объектом, а не функцией.
Maverick
1
@ dk49 В JavaScript функции тоже могут иметь свойства. Попробуйте это: function Person () {}; Person.city = 'Миссула'; console.log (Person.city)
Лэнс Фишер
Для получения дополнительных доказательств попробуйте, typeof $что выведет «Функция». ;)
Лэнс Фишер
34

Это синтаксический сахар . Это не относится только к jQuery; другие библиотеки также используют его. Вы можете найти подробную статью об использовании знака доллара в JavaScript здесь .

Эльзо Валуги
источник
5
Что ж, мне понравился термин « синтаксический сахар» . Спасибо за это :)
Ravi Dhoriya ツ
4
Как это ответ? Из этого я узнал, что знак «$» в jQuery означает «синтаксический сахар». И в связанной статье подробно рассказывается о том, как и почему, но без лаконичных ответов. Следующий ответ @andrea описывает работу в трех словах.
lorenzog
Я думаю, ОП хотел знать, почему этот символ $ выбран для представления библиотеки, а не на то, что на самом деле означает, что в
некотором роде
эта ссылка больше не работает, та, которую вы сказали, подробно объясняет $
user734028
@ user734028 Я сменил ссылку на кешированную, проверьте сейчас
Эльзо Валуги
30

Как сказано в других ответах, $ - это ярлык для функции jQuery.

Некоторые библиотеки JavaScript тоже используют $ (пример: прототип). Чтобы избежать конфликта с этими другими библиотеками, jQuery предоставляет функцию jQuery.noConflict (). При вызове этой функции управление переменной $ возвращается к другой библиотеке, которая ее реализовала первой. Делая это для использования jQuery, вы больше не можете использовать этот $ ('div.someClass') вместо jQuery ('div.someClass').

В качестве альтернативы можно сделать так:

jQuery.noConflict();

jQuery.ready(function($) {
   // use $ for jQuery
}

//use $ for the other library

При написании плагинов, чтобы избежать проблем с использованием noConflict, вы можете передать jQuery функции:

function($) {

//use $ writing your plugin

}(jQuery)
Даниэль Моура
источник
9

$ - это просто функция под названием jQuery. Таким образом вы получаете доступ ко всем функциям библиотеки jQuery.

Вы можете найти его здесь: http://docs.jquery.com/%24

googletorp
источник
7

Это сокращение от jQuery. Объект, в котором находится вся функциональность jQuery.

Брайан
источник
5

$ - это синтаксический сахар, подобный упомянутому @Elzo. Однако на ваш вопрос никто не ответил. $ - это сокращение в jQuery для window.jQuery, поэтому вам не нужно вводить его каждый раз.

tommydevs
источник
4

$ - это просто еще одна переменная. В случае jQuery это ссылка на функцию jQuery.

Джеймс З.
источник
4

Знак $ для определения / доступа к jQuery

Вед Пракаш
источник
1

Посмотрите файл библиотеки jQuery.

// Выставляем идентификаторы jQuery и $.

if ( typeof noGlobal === strundefined ) {
    window.jQuery = window.$ = jQuery;
}

Global $ указывает на jQuery.

Сангкун Парк
источник