我最近将网站转移到新主机。重新加载了所有内容,之前运行良好的 JavaScript 在找不到的元素处崩溃了。 $('#emailForm') 未定义。
现在,#emailform 不在页面上,但以前也不在,JS 过去常常跳过这个,它就会正常工作。不知道为什么会发生这种情况。任何线索
这是我遇到问题的网站:
最佳答案
如果没有 id='emailForm'< 的元素,将会从
.$('#emailForm')
返回一个空的 jQuery 对象。/
以下情况之一可能是正确的:
- 您忘记包含 jQuery - 因此
$
未定义。 - 还有另一个库使用
$
- 在这种情况下,您可以将代码包装在快速闭包中,将jQuery
重命名为$
关闭:
(function($){
// $ is jQuery
$('#emailForm').whatever();
})(jQuery);
您可以在 firebug 中 console.log(window.$,window.jQuery);
来检查这两个问题。
关于javascript - jquery 元素未定义,但它曾经跳过它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2870411/