原型与jQuery干扰

原型与jQuery干扰,jquery,prototypejs,Jquery,Prototypejs,我有很多jquery代码和一些使用prototype的.js脚本 问题是,当我尝试在prototype中调用$$方法时,出现了错误:$$不是define 因此,我想知道获得$$工作的长期方法 $$('table.'+triggerClass).each(function(t){ 有没有一种方法可以强制代码的这一部分使用原型,就像在jqueryjquery.noConflict()中所做的那样我不确定原型是否有$$()的长期版本。但是,我的建议是不要同时使用jQuery和Prototype。我这

我有很多jquery代码和一些使用prototype的.js脚本

问题是,当我尝试在prototype中调用$$方法时,出现了错误:$$不是define

因此,我想知道获得$$工作的长期方法

$$('table.'+triggerClass).each(function(t){

有没有一种方法可以强制代码的这一部分使用原型,就像在jquery
jquery.noConflict()中所做的那样

我不确定原型是否有$$()的长期版本。但是,我的建议是不要同时使用jQuery和Prototype。我这样说有两个原因:

  • jQuery和Prototype都是相当大的库,这意味着用户需要大量下载
  • jQuery和Prototype在功能上有很多重叠,并且会出现像现在这样的冲突问题

  • 我建议您重写使用prototype来使用jQuery的小js脚本。(并不是说我推荐一个而不是另一个,只是考虑到你的情况,我会这么做)

    正如另一个答案所说,尽量不要同时使用这两个选项。原型对于轻量级的东西来说非常好,jquery对于更复杂的东西来说非常好

    也就是说,您需要重新映射jQuery以消除冲突:

    jQuery.noConflict();
    
    然后将jQuery对象分配给一个新变量。 请参阅。

    $$()
    是一个原型函数,因此,如果您试图保持代码“原样”,您将无法使其工作*。如果您可以更改代码(并将JQuery置于无冲突模式):

    但是,如果您没有触发无冲突模式,则无法保证哪个库将提供
    $()

    *我猜在理论上,如果您真的想离开保留区,您可以将$$()映射到JQuery(),冒着破坏原型代码的风险

    JQuery('table.'+ triggerClass).each(function(t){})