我开始学习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 IS被称为。
任何知识渊博的人都能发光吗?
答案 0 :(得分:3)
确保执行脚本时body
可用,您可以使用简写domready回调来执行此操作:
jQuery(function($){
var p = '<p style="color:red">12345</p>';
$p = $(p).appendTo(document.body);
console.log($p);
});