匿名JavaScript函数未执行
我真的需要第二双眼睛。我得到以下错误: “未捕获类型错误:未定义不是函数” 有人看到这个函数有什么问题吗,因为我似乎无法调试匿名JavaScript函数未执行,javascript,jquery,Javascript,Jquery,我真的需要第二双眼睛。我得到以下错误: “未捕获类型错误:未定义不是函数” 有人看到这个函数有什么问题吗,因为我似乎无法调试 $(function(){ $('#div-id').insertBefore('#sumbit-button'); })(); jQuery已经执行了您传递给它的函数,它不会返回函数,因此您无法调用它 $(function(){ $('#UGInterestedIn').insertBefore('#sumbit-button'
$(function(){
$('#div-id').insertBefore('#sumbit-button');
})();
jQuery已经执行了您传递给它的函数,它不会返回函数,因此您无法调用它
$(function(){
$('#UGInterestedIn').insertBefore('#sumbit-button');
});
这段代码有两种不同的含义。或者您正在尝试使一个函数在DOM ready上运行,这将使用jQuery代码:
$(function(){
$('#UGInterestedIn').insertBefore('#sumbit-button');
});
这也是aduch所说的,但您也可以引用一个自动执行的匿名函数,这是一个普通的JS代码:
(function(){
$('#UGInterestedIn').insertBefore('#sumbit-button');
})();
区别在于,第一个代码要求jQuery包含在页面上,并在DOM就绪时加载代码。第二个代码立即运行代码,但使用匿名函数更改变量的范围。您可能正在尝试做第一件事,但我想我也应该让您知道第二件事。删除结尾处的
()
,我认为您混淆了$(function(){/*code*/})
和(函数(){/*code*/})()
使用jQuery的$(function(){…})
语法从@juvian扩展注释是在DOM可用时运行函数的一种方法。对我们来说,(function(){…})(
就是立即运行一个函数。你的是这两种语言令人不安的混合体,没有任何意义(除了你得到的错误!)我如何修改这个语法来执行这个简单的dom操作正如juvian在另一篇评论中所说,从原始代码中删除()+1对你来说,删除结尾的括号不起作用。我得到了同样的错误,然后jQuery可能没有加载。是的,我正在尝试做一个简单的dom操作,但说实话,我很少使用JavaScript,有时我发现它很混乱,很难理解。在这个例子中,我通常可以通过在.net应用程序的后端管理页面生命周期来完成我需要的任务,但是这个新项目完全是php