Javascript 我们可以用$p或$proto之类的东西替换prototype.js中的$prototype吗

Javascript 我们可以用$p或$proto之类的东西替换prototype.js中的$prototype吗,javascript,jquery,prototypejs,Javascript,Jquery,Prototypejs,我正在使用jquery和prototype.js。$中存在冲突。可以通过使用var$j=jQuery.noConflict()来解决,但我有很多文件使用$for jQuery,因此不容易删除。甚至我正在使用一些也需要重命名的插件(比如jquery.dataTables.bootstrap.js,其中我必须从$j更改为$j) 所以我的问题是,我们能否将prototype.js中的$重命名为其他名称,这样就很容易了。我使用的是1.5.1版的prototype。 感谢简单的回答,没有-一些Protot

我正在使用jquery和prototype.js。$中存在冲突。可以通过使用var$j=jQuery.noConflict()来解决,但我有很多文件使用$for jQuery,因此不容易删除。甚至我正在使用一些也需要重命名的插件(比如jquery.dataTables.bootstrap.js,其中我必须从$j更改为$j)

所以我的问题是,我们能否将prototype.js中的$重命名为其他名称,这样就很容易了。我使用的是1.5.1版的prototype。
感谢简单的回答,没有-一些PrototypeJS模块(数组、可枚举、RegExp、字符串等)依赖于可用的
$()
函数,并期望它返回扩展元素而不是jQuery集合

但是,您可以将jQuery代码包装在一个立即执行的函数中,以解决您的问题

比如说

(function($){

    //jQuery code in here that uses $()


})(jQuery);

这基本上是一个Javascript闭包,它将上下文中的
jQuery()
方法重命名为
$()

将$更改为$p会导致一些问题(例如调用jQuery hide或show函数,调用prototype.js函数)。因此,我所做的是在新选项卡中打开prototype.js相关内容,并使用jquery.noConflict()来解决冲突

谢谢Geek,但是内部使用$的插件呢(作为jquery的参考,比如jquery.dataTables.bootstrap.js、jquery.dataTables.min.js)。我们必须手动更改吗?如果是,那么如果我们正在升级插件,那么我们必须再次进行返工。我们能不能直接转到prototype.js,把$s的所有引用都改成其他的东西呢?我以前也这样做过,我把整个插件包装在函数闭包中。是的,它确实让更新插件有点痛苦,但它确实让插件更具可移植性。也许你也可以向作者提交一个拉请求,将插件封装在闭包中。事实上,我这样做了,效果很好,但有一个问题。调用$(选择器).show()时(用于查询)。prototype.js不知道如何调用它。我已经将prototype.js中所有$p的引用都更改为$p。我需要查看更多的源代码,以弄清楚为什么在该实例中它仍然遵循这条路线。我知道有时候当jQuery触发事件时,jQuery会调用添加到
元素
中的原型方法,但这听起来不像是同一个问题。实际上,任何正确编写的插件都已经使用了这个包装器。