jQuery没有定义?

时间:2011-04-05 10:32:01

标签: jquery

我的页面正文中有以下代码。 (我知道在标题中加载会更好,但我无法访问标题。)

<script src="javascript/jquery-1.5.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
jQuery.noConflict();
jQuery(document).ready(function(){
  alert('hello world');
});
</script>

Firebug显示jquery-1.5.2.min.js正在加载正常,并且直接来自jQuery下载页面wget,因此内容应该没有问题。但是,jQuery.noConflict()上的脚本barf包含:

Error: jQuery is not defined

我已尝试在(document).ready内移动此行,但它没有帮助。那么,如何在不引用jQuery的情况下检查jQuery是否已加载? :)

我需要在noConflict模式下使用jQuery,因为在同一页面上有scriptaculous脚本。

谢谢!

2 个答案:

答案 0 :(得分:2)

如果没有看到完整的页面,就很难回答这个问题。但是我最好的猜测是,你的jQuery库(最终)会被下载,在jQuery脚本准备就绪之前触发和访问jQuery对象的下一个脚本就是这样。作为一个概念的快速证明,你可以尝试这个简单(但非常肮脏的黑客),看看我是否在正确的轨道上?

<script src="javascript/jquery-1.5.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
setTimeout(function(){alert(jQuery);},1000);
</script>

答案 1 :(得分:1)

您必须使用$.noConflict()。确保在scriptaculous之后导入jquery脚本,并在进行任何scriptaculous调用之前调用noConflict。

http://api.jquery.com/jQuery.noConflict/