Prototype jquery 冲突解决:
在页面中同时存在jquery 和 prototype ,当用到 $ 的时候,难免产生冲突,所以一定要区分开来:
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
j= $;
</script>
<script type="text/javascript" src="prototype.js" ></script>
这样做了以后,在用到jquery 的地方用 j 来替代 $ 符号,而 prototype 的 $ 函数照常使用,当然其实也不用定义“ j= $; ” ,在用到 jquery 的地方直接用 jQuery 来替代 $ 符号也一样的。
还有一个冲突网上找到的:Array.prototype.push 方法冲突。
这个冲突很严重,直接导致jQuery 的级联筛选无效。比如正常情况下,你可以使 用 $("span",$("#main")) 来获取 ID为 main 的元素下面的 span 元素。但如果页面中同时使用了 prototype 框架相关,那抱歉 的很,你永远获取不到了。原因你可以调试跟踪自己查看 jQuery 的源代码。
解决方法:
<script type="text/javascript">
var fnArrayPush = Array.prototype.push;
$().ready(function(){
Array.prototype.push = fnArrayPush;
init();
});
</script>
-----
我的采用方法一:
页面js ,先引入 jquery , head 里面用到的先替换;然后再引入 Prototype ;