понимание замыканий JavaScript с помощью jquery - PullRequest
1 голос
/ 29 ноября 2011

Я начал изучать закрытия javascript, и во время экспериментов я понял, что следующий код не работает должным образом:

(function($){
    var p='<p style="color:red">12345</p>';
    $p=$(p);
    $("body").append($p);
    $p.appendTo($("body"));
    console.log($p);
})(jQuery)

в консоли, я вижу возвращаемый объект jquery,но он не добавляется к телу (я пробовал методы append и appendto).

Может кто-нибудь объяснить мне, почему этот код не работает должным образом?

У меня возникла мысль: возможно, это связано с тем, что jquery не загружается во время вызова этой функции, однакообъект jquery выводится на консоль, поэтому это означает, что jquery загружается во время вызова этой функции.

может ли какой-нибудь осведомленный человек пролить свет?

1 Ответ

3 голосов
/ 29 ноября 2011

Убедитесь, что body доступен при выполнении скрипта, вы можете сделать это с помощью сокращенного обратного вызова domready:

jQuery(function($){
    var p = '<p style="color:red">12345</p>';
    $p = $(p).appendTo(document.body);
    console.log($p);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...