你可以通过在
无冲突模式 下运行你的 jQuery 版本来实现这一点。"无冲突" 模式是在页面上与其他框架(如
prototype)一起使用 jQuery 的典型解决方案,也可以在这里使用,因为它基本上为你加载的每个版本的 jQuery 创建了命名空间。
<script src="jQuery1.3.js"></script>
<script>
jq13 = jQuery.noConflict(true);
</script>
<!
<script src="jQuery1.2.3.js"></script>
这个变化意味着你想使用的任何jQuery内容都需要使用jq13
而不是$
进行调用,例如:
jq13("#id").hide();
在同一页上运行两个版本的情况并不理想,但如果没有其他选择,那么上述方法应该允许您同时使用两个不同的版本。
还有一个好奇的问题,如果我们使用了另一个需要引用另一个jQuery版本的控件会怎样?
如果需要添加另一个jQuery版本,您可以对上述内容进行扩展:
<script src="jQuery1.3.js"></script>
<script>
jq13 = jQuery.noConflict(true);
</script>
<script src="jQuery1.3.1.js"></script>
<script>
jq131 = jQuery.noConflict(true);
</script>
<!
<script src="jQuery1.2.3.js"></script>
变量jq13
和jq131
将分别用于您需要的版本特定功能。
重要的是要最后加载原始开发人员使用的jQuery - 原始开发人员可能根据$()
使用他们的jQuery版本编写代码。 如果您在他们之后加载另一个版本,则$
将被最后加载的那个版本“获取”,这意味着原始开发人员的代码在最新库版本上运行,使得noConflicts
有些多余!