Я видел некоторый код, где они просто делают это:
$().ready(function()
{
...
});
Это короче, чем выполнение селектора документа, но действительно ли это - то же самое?
Небольшое изменение:
$(document).ready(function() {});
Равно:
$(function() {});
Начиная с jQuery 1.4: $ (). Ready (function () {});
больше не работает правильно во всех случаях . Из примечаний к выпуску:
Начиная с jQuery 1.4, если вы не передаете никаких аргументов методу jQuery (), будет возвращен пустой набор jQuery. В предыдущих версиях jQuery возвращался набор, содержащий узел документа.
У Ника и Джастина есть правильные ответы, но, поскольку мы затронули тему, я бы рекомендовал для переносимости никогда не использовать $
в глобальном масштабе. Несколько слишком много библиотек используют его в своих целях, и вы можете столкнуться с проблемами совместимости, если вам нужно их перепутать. Вместо этого вы можете использовать необязательный первый параметр для обработчика готовности jQuery:
jQuery(function($) {
});
Это устанавливает $
как ссылку на jQuery
в области этой функции.
Согласно документации API jQuery , все три из следующих синтаксисов эквивалентны:
$ (документ) .ready ( handler)
$ (). ready (handler)
(но это не рекомендуется) $ (handler)
Очевидно, этот синтаксис будет работать, но это не рекомендуемый синтаксис.
Согласно примечания к выпуску jQuery 1.4 :
В jQuery 1.3 jQuery () возвращал набор jQuery, содержащий только документ. в jQuery 1.4 он возвращает пустой набор jQuery. Это может быть полезно для создания пустого набора и динамического добавления в него элементов. Примечание. Техника jQuery (). Ready () по-прежнему работает в версии 1.4, но устарела. Используйте либо jQuery (документ) .ready (), либо jQuery (function () {}).