我已经开始学习 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被称为。
任何有知识的人都可以阐明一些吗?
最佳答案
确保 body
在执行脚本时可用,您可以使用简写的 domready 回调来做到这一点:
jQuery(function($){
var p = '<p style="color:red">12345</p>';
$p = $(p).appendTo(document.body);
console.log($p);
});
关于javascript - 用 jquery 理解 javascript 闭包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8303527/