我的页面中有以下代码。有时jQuery加载正常,但有时我会收到错误:jQuery is undefined
<script src="/javascripts/jquery-1.3.2.min.js" type="text/javascript"></script>
<script src="/javascripts/jquery-ui-1.7.1.custom.min.js"
type="text/javascript"></script>
<script type="text/javascript">
alert('test')
var $j = jQuery.noConflict();
alert('test1')
//start when document is ready
$j(document).ready(function(){
alert('test2')
当jQuery没有加载时,我只在页面上看到第一个alert
。所以我认为jQuery永远不会被加载。我也在使用noConflict,因为在我收到错误$ is undefined
之前。我没有使用任何其他js库,如原型或任何东西。所以我没有任何真正的需要使用jQuery noConflict()
有人遇到过jQuery和IE 7的这类问题吗? Firefox上没有发生此错误。
可以做些什么来解决这个问题吗?
更新 我决定使用托管在Google上的jQuery + jQuery UI。这对我有用。
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.min.js" type="text/javascript"></script>
答案 0 :(得分:1)
如果您没有任何其他冲突的库,那么$ is undefined
几乎意味着您的jquery的脚本库路径不正确,或者jQuery还没有准备好。在这种情况下,没有理由使用无冲突功能。
试试这个:
<script src="/path to your/jquery-1.3.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
alert("jquery is ready.");
});
</script>
如果警报触发,您知道jQuery被正确引用和初始化。
如果没有,请尝试以下选项:
答案 1 :(得分:0)
如果在其他浏览器中也发生这种情况,那么我的第一个赌注是你的Jquery库的URL路径是不正确的。 (javascripts
或javascript
)。尝试将完整的URL放到库中,看看会发生什么。
noConflict声明是否正确?我认为应该是
var j = jQuery.noConflict();
....
j(document).ready(function(){....}