jQuery .NoConflict脚本加载

时间:2010-03-02 11:51:13

标签: prototypejs conflict jquery

我正在尝试在高度冲突的环境中使用jQuery。 .noConflict()不起作用,我正在尝试做类似

的事情
<script type="text/javascript">
document.write(    document.write(unescape("%3Cscript src='http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js' type='text/javascript'%3E%3C/script%3E"));
jQuery.noConflict();
var $ = jQuery;
</script>

任何想法如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

您确定它与您拥有的事实无关:

document.write(    document.write(unescape(...longstringhere...)); // Missing final close paren?

这会导致错误,然后noConflict将无效。

另外,你需要同时使用Prototype和jQuery吗? jQuery.noConflict()的全部目的是不将jQuery变量设置为$因为Prototype使用它(我确定还有其他原因,但在这种情况下这是主要原因)。 jQuery和Prototype通常不是好朋友。

最后,您是否绝对肯定(假设您的实际代码中没有语法错误)jQuery正在加载?


做了一些快速研究。检查此链接,看看它是否有帮助:

http://docs.jquery.com/Using_jQuery_with_Other_Libraries

基本上,您可能必须先调用jQuery,然后在使用noConflict()之前必须调用Prototype

答案 1 :(得分:1)

不要使用$ - 这是冲突的根源。将jQuery替换为您通常使用的地方,如下所示:

jQuery('#my-id')
jQuery('.my-class')

等等