jQuery在使用中出现未定义$,是什么原因?

JavaScript08

jQuery在使用中出现未定义$,是什么原因?,第1张

出现该错误可能有以下三种情况之一引起:

JavaScript文件未正确加载到页面中

jQuery版本。发生这种情况的原因是编辑后的核心文件,或者插件可能覆盖了$变量。

需要在页面完全加载之前以及jQuery完全加载之前运行JavaScript。

首先,请确保正确调用了什么脚本,它应该看起来像<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.1/jquery.min.js" type="text/javascript"></script>

并且不应具有 async 或 defer 属性。

然后,您应该检查Firebug  网络面板,以查看文件是否实际上已正确加载。如果不是,它将以红色突出显示并在其旁边显示“ 404”。如果文件加载正确,则意味着问题是第2个。

确保所有jQuery javascript代码都在代码块中运行,例如:$(document).ready(function () {

})

这将确保在初始化jQuery 之后 加载代码。

最后要检查的一件事是确保 在加载jQuery之前不加载任何插件。插件扩展了“$”对象,因此,如果在加载jQuery核心之前先加载插件,则会得到所描述的错误。

注意: 如果要加载不需要jQuery来运行的代码,则无需将其放在jQuery

ready处理程序中。该代码可以使用分隔document.readyState。

不排除还有其他问题。

1.首先的检查一下有没有正确引入jQuery库文件,用firebug看看就知道了,Google和微软也提供了在线的库文件,可以作为测试来用,最好还是把文件放在自己的服务器较为安全,代码如下:

google:<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js&quot></script>

微软:<script type="text/javascript" src="http://ajax.microsoft.com/ajax/jquery/jquery-1.7.min.js&quot></script>

2.库正确引入后,还有可能是因为代码没有包含(function(){ //代码 })中或者库冲突,需要声明函数段全部执行完毕后,移交控制权,代码如下:

<script type="text/javascript">

jQuery.noConflict() //执行完毕后移交控制权

jQuery(function($){ //继续使用"$"作为jQuery简写标示

//代码放在这里

})

</script>