您可以通过在无冲突模式下运行您的 jQuery 版本来实现这一点。“无冲突”模式是让 jQuery 在具有其他框架(如原型)的页面上工作的典型解决方案,也可以在这里使用,因为它本质上为您加载的每个版本的 jQuery 命名。
<script src="jQuery1.3.js"></script>
<script>
jq13 = jQuery.noConflict(true);
</script>
<!-- original author's jquery version -->
<script src="jQuery1.2.3.js"></script>
此更改将意味着您要使用的任何 jQuery 内容都需要使用 usingjq13
而不是$
,例如
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>
<!-- original author's jquery version -->
<script src="jQuery1.2.3.js"></script>
变量jq13
和jq131
将分别用于您需要的特定于版本的功能。
最后加载原始开发人员使用的jQuery很重要- 原始开发人员可能在假设$()
将使用他们的 jQuery 版本的情况下编写他们的代码。如果您在他们之后加载另一个版本,$
则将被您加载的最后一个版本“抢占”,这意味着原始开发人员的代码在最新的库版本上运行,从而noConflicts
显得有些多余!