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