Есть ли разница между $ (). Ready () и $ (document) .ready () - PullRequest
27 голосов
/ 05 марта 2010

Я видел некоторый код, где они просто делают это:

$().ready(function()
{
    ...
});

Это короче, чем выбор документа, но это то же самое?

Ответы [ 3 ]

32 голосов
/ 05 марта 2010

Незначительные изменения:

$(document).ready(function() {});

равно:

$(function() {});

Начиная с jQuery 1.4: $().ready(function() { }); больше не работает правильно во всех случаях . Из заметок о выпуске:

Начиная с jQuery 1.4, если вы не передадите аргументы методу jQuery (), будет возвращен пустой набор jQuery. В предыдущих версиях jQuery возвращался набор, содержащий узел документа.

8 голосов
/ 05 марта 2010

Ник и Джастин получили здесь правильные ответы, но поскольку мы обсуждаем эту тему, я бы рекомендовал для переносимости никогда не использовать $ в глобальном масштабе. Несколько слишком много библиотек используют его для своих собственных целей, и вы можете столкнуться с проблемами совместимости, если вам нужно смешать их. Вместо этого вы можете использовать необязательный параметр first для обработчика готовности jQuery:

jQuery(function($) {

});

Это устанавливает $ как ссылку на jQuery в этой области действия функции.

7 голосов
/ 05 марта 2010

Согласно документации jQuery API все три следующих синтаксиса эквивалентны:

  • $(document).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 () {}).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...