我如何在单页上使用多个jquery版本?

如何在单个页面上使用多个jquery版本? 我有两个不同的jquery版本,两者都是不同function所必需的,但两个版本互相冲突。如果我将使用jquery noconflict然后products scripts将不起作用?

   oldjq = jQuery.noConflict(true);    

Jquery 1.9.1需要运行此脚本

  $(document).ready(function () { $('input:checkbox').click(function(){ var $inputs = $('input:checkbox') if($(this).is(':checked')){ $inputs.not(this).prop('disabled',true); }else{ $inputs.prop('disabled',false); } }) })       

Jquery 1.4.2需要运行这些脚本

         

问题现在解决了最终的COED

   (function ($) { $(document).ready(function () { $('input:checkbox').click(function(){ var $inputs = $('input:checkbox') if($(this).is(':checked')){ $inputs.not(this).prop('disabled',true); // <-- disable all but checked one }else{ $inputs.prop('disabled',false); // <-- } }) }); })(jQuery);           

由于它只有几行代码,我建议修改需要jQuery 1.9.1的块,以便它可以与jQuery 1.4.2一起使用

我已经在下面更新它以使用jQuery 1.4.2。 我使用attr方法而不是prop来操作disabled属性(你可以在这里查看文档,看看这是否可能导致任何问题)。 此解决方案避免运行两个jquery实例,并避免必须找到您已经使用的所有库/插件的更新版本。

 $(document).ready(function () { $('input:checkbox').click(function(){ var $inputs = $('input:checkbox') if($(this).is(':checked')){ $inputs.not(this).attr('disabled',true); }else{ $inputs.attr('disabled',false); } }) }) 

在这里看小提琴。

是的,在您加载第一个版本后,请执行此操作

 var $j = jQuery.noConflict(); 

加载你的第二个版本的jQuery。

请参阅带有$j的第一个版本,将第二个版本称为$

好的,这是一个可能的解决方案 – 您可以将新版本的jQuery绑定到闭包。 但我的建议是不要那样做,就像把自己射到自己的腿上一样。

  // Jquery 1.9.1 Need To Run This Script:  // ...  //Jquery 1.4.2 Need To Run These Scripts:   // ...