繁体   English   中英

用jquery理解javascript闭包

[英]understanding javascript closures with jquery

我已经开始学习有关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对象IS正在输出到控制台,因此必须表示在调用此函数时已加载jquery IS。

有知识的人能阐明一点吗?

确保执行脚本时body可用,可以使用速记domready回调来实现:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM