4 回答
TA贡献1842条经验 获得超21个赞
该错误只能由以下三种情况之一引起:
您的JavaScript文件未正确加载到您的页面中
你有一个拙劣的jQuery版本。这可能是因为有人编辑了核心文件,或者插件可能覆盖了$变量。
您在页面完全加载之前运行JavaScript,因此,在jQuery完全加载之前。
您应该检查Firebug 网络面板以查看文件是否实际正确加载。如果没有,它将突出显示为红色并在其旁边显示“404”。如果文件正确加载,则表示问题为2。
确保所有jQuery javascript代码都在代码块中运行,例如:
$(document).ready(function () { //your code here});
这将确保在初始化jQuery 之后加载代码。
最后要检查的是确保在加载jQuery 之前没有加载任何插件。插件扩展了“$”对象,所以如果你在加载jQuery核心之前加载一个插件,那么你将得到你描述的错误。
注意:如果您正在加载不需要运行jQuery的代码,则不需要将其放在jQuery ready处理程序中。该代码可以使用分开document.readyState
。
TA贡献1803条经验 获得超3个赞
首先,您需要确保加载jQuery脚本。这可能来自您的网站上的CDN或本地。如果在尝试使用jQuery之前没有先加载它,它会告诉你jQuery没有定义。
<script src="jquery.min.js"></script>
这可以在HEAD或页面的页脚中,只需确保在尝试调用任何其他jQuery之前加载它。
然后,您需要使用以下两种解决方案之一
(function($){
// your standard jquery code goes here with $ prefix
// best used inside a page with inline code,
// or outside the document ready, enter code here
})(jQuery);
要么
jQuery(document).ready(function($){
// standard on load code goes here with $ prefix
// note: the $ is setup inside the anonymous function of the ready command
});
请注意多次$(document).ready(function(){// code here}); 不管用。
TA贡献1876条经验 获得超7个赞
如果jQuery插件调用位于其旁边</body>,并且您的脚本在此之前加载,则应该在window.onload事件之后运行代码,如下所示:
window.onload = function() {
//YOUR JQUERY CODE
}
`
因此,只有在窗口加载后,当所有资产都已加载时,您的代码才会运行。在这一点上,$将定义jQuery()。
如果你使用它:
$(document).ready(function () {
//YOUR JQUERY CODE
});
`
在$还没有在这个时候确定的,因为jQuery是加载之前它被称为,你的脚本将失败上的控制台,第一道防线。
添加回答
举报