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